再帰関数を使用して php で作成した配列があります。次元数がわかりません。Smarty で使用するにはどうすればよいですか?
私はこのコードを使用しようとしています:
{foreach $myArr as $items}
<li>
{$items.title}
{if $item.submenu}
<ul>
{foreach $items.submenu as $items2}
<li>{$items2.title}</li>
{/foreach}
</ul>
{/if}
</li>
{/foreach}
しかし、このコードは 2 レベルのみです。私のアレイには 3 か 4 か ... レベルがあるかもしれません。
アップデート:
私は解決策を見つけました。私の解決策では Smarty 関数を使用しています:
{function name=menu level=0}
<ul>
{foreach $data as $items}
<li>
<a href="{$items.url}">
{$items.title}
</a>
{if is_array($items.submenu)}
{menu data=$items.submenu level=$level+1}
{/if}
</li>
{/foreach}
</ul>
{/function}
{menu data=$menuItems}