PHP:
<?php
$menu = array(
array('label' => 'myLabel', 'submenu' =>
array('label' => 'test label',
'label' => 'test label',
'label' => 'test label'
)),
array(...)
);
$smarty->assign(array('menu' => $menu));
TPL:
<ul>
{foreach from=$menu key=k item=elem}
<li>
<div>
{$elem.label}
</div>
<ul>
{foreach from=$elem.submenu item=subelem}
<li>{$subelem.label}</li>
{/foreach}
</ul>
</li>
{/foreach}
</ul>
Обратите внимание, что массивы типа $menu = array(array("A"), array("B"), array("C"));
работают нормально.
Где я ошибаюсь?Возможно ли, или smarty не может это сделать?
РЕДАКТИРОВАТЬ: Проблема: Это выводит первый список и первую букву первого элемента дочернего списка в надлежащем HTML-контексте.