BACK
2008-06-12
PHP+Smarty+section+連想配列+ネスト
超・はまったlol
XOOPS-CUBEで商品一覧の各商品の中でトピックのリストを出そうと思って
配列->連想配列->配列->連想配列の形にして、Smartyに投げてみたところ
トピック数分ちゃんとループするものの、値が表示されず。
{debug}で見た感じ、値はちゃんと入っていたので
これはテンプレの書き方が間違ってるのかなと、いろいろ試行錯誤すること?時間。
結論は、これだ。わんつーすりー。
Smartyの雛形
<{section name=item loop=$items}>
<{$items[item].name}>
<{section name=topic loop=$items[item].topics}>
<{$items[item].topics[topic].comment}>
<{/section}>
<{/section}>
PHPソース(値書くのめんどうだから配列だけ(ぉ))
$items=array(); //配列
while(アイテム作るループ){
$item=array(); //連想配列
$item['name']=なんかアイテム名;
$topics=array(); //配列
while(トピック作るループ){
$topic=array(); //連想配列
$topic['comment']=なんかトピック;
array_push($topics,$topic);
}
$item['topics']=$topics;
array_push($items,$item);
}
$render=&$root->mContext->mModule->getRenderTarget();
$render->setAttribute('items',$items);
CUBEのだから普通のほうもこんな感じなのかはわかりませんがlol
なんかPHPの配列というよりStyleの書き方に似ている…罠だった。
Comments
BACK