繁体   English   中英

Smarty.tpl中的递归函数

[英]Recursive Function inside Smarty.tpl

有人可以帮我将这段代码翻译成智能友好代码吗,摘自此处

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>

但是现在我有一个多层次的要求,请为此提供帮助。

您应该制作一个包含文件的文件,该文件本身包含每个新级别...将循环嵌套到一个新文件或创建一个smarty函数,然后包含它或调用smarty函数,然后在IT中调用自身(或调用功能)...

您可以创建可以调用自身的函数,请参见示例7.43。 在文档中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM