私はsmartyで次のタイプの配列を使用しました..
[Main_array] => Array
(
[splitlist] => 1
[counter] => 2
[listNames] => Array
(
[0] => Material
[1] => Color
)
[splittedLists] => Array
(
[Material_item_1] => Array
(
[White] => Array
(
[image] => /img/thumbnail.gif
[imageLink] => /static/white.html
)
[Black] => Array
(
[image] => /img/no-image.gif
[imageLink] => /static/black.html
)
)
[Material_item_2] => Array
(
[Red] => Array
(
[image] => /img/no-image.gif
[imageLink] => /static/Red.html
)
[Yellow] => Array
(
[image] => /img/no-image.gif
[imageLink] => /static/yellow.html
)
)
)
)
この配列から次の出力が必要です
* Material
- Material_item_1
- Material_item_2
* Color
- Nude
- Black
- Red
- Yellow
そして、私がこれまでに行ったことは次のとおりです..
[{foreach from=$item2.listNames key=subKey1 item=subItem1 name=subLp1}]
<h2>
<label>[{$subItem1|replace:"-":" "}]</label>
</h2>
<ul style="margin-left:20px;display:block;">
[{foreach from=$item2.splittedLists key=subKey2 item=subItem2 name=subLp2}]
<li style="float:none;"><strong>[{$subKey2|replace:"-":" "}]</strong></li>
[{/foreach}]
</ul>
[{/foreach}]
そして、私は得ています....
* Material
- Material_item_1
- Material_item_1
- Material_item_2
- Material_item_2
* Color
- Material_item_1
- Material_item_1
- Material_item_2
- Material_item_2
PHP - OXID & Smarty を使用しています。ここで言及しなければならないことの 1 つは、 の要素が[splittedLists]
2 より大きいか、2 より小さい可能性があることです。しかし、2 要素のロジックも歓迎されます。
更新:クライアントと話をしたので、構造の変更に関する提案も大歓迎です。助けてください
UPDATE2:以下は PHP 配列です。
$arr = array(
'Main_array' => array
(
'splitlist' => 1,
'counter' => 2,
'listNames' => array
(
'0' => "Material",
'1' => "Color"
),
'splittedLists' => array
(
'Material_item_1' => array
(
'White' => array
(
'image' => "/img/thumbnail.gif",
'imageLink' => "/static/white.html"
),
'Black' => array
(
'image' => "/img/no-image.gif",
'imageLink' => "/static/black.html"
)
),
'Material_item_2' => array
(
'Red' => array
(
'image' => "/img/no-image.gif",
'imageLink' => "/static/Red.html"
),
'Yellow' => array
(
'image' => "/img/no-image.gif",
'imageLink' => "/static/yellow.html"
)
)
)
)
);