有人可以帮助我将此代码转换为智能友好型,取自Here
function outputCategories($categories, $startingLevel = 0)
{
foreach ($categories as $key => $category)
{
if (count($category['children']) > 0)
{
echo '<li><a title="'.$category['name'].'" href="'.$category['url'].'">'.$category['name'].'</a><ul>';
outputCategories($category['children'], $startingLevel+1);
echo "</li>";
}
else
{
echo '<li><a title="'.$category['name'].'" href="'.$category['url'].'">'.$category['name'].'</a></li>';
}
}
echo "</ul>";
return self;
}
我可以使用以下行生成单级别类别:
{foreach from=$hsitemap item=c name=hsitemap}
{if $c.parent_id ==0 }
<li><h2><a title="{$c.site_name}" href="{$c.site_url}">{$c.site_name}</a></h2><ul>
{foreach item=d from=$c.children name=sitemap}
<li><a title="{$d.site_name}" href="{$d.site_url}">{$d.site_name}</a></li>
{/foreach}
{else}
<li><h2><a title="{$c.site_name}" href="{$c.site_url}">{$c.site_name}</a></h2><ul>
{/if}
</ul>
</li>
{/foreach}
</ul>
但是现在我需要多级,请帮助我。
答案 0 :(得分:0)
你应该制作一个包含自己每个新级别的包含文件...... 将循环嵌套到一个新文件或创建一个smarty-function,然后包含它或调用smarty-function,并在IN IT中调用它自己(或调用该函数)......
答案 1 :(得分:0)
您可以创建可以自行调用的函数,请参阅文档中的example 7.43.。