Templates 预设,Smarty模板渲染的按钮太多

Templates 预设,Smarty模板渲染的按钮太多,templates,smarty,prestashop,Templates,Smarty,Prestashop,我的prestashop模板中有这段代码,没有循环,只有条件,我有5个返回按钮(elseif部分,第一个li标记),为什么会这样 {if $node.children|@count > 0 && ($smarty.get.controller!='product' && $smarty.get.controller!='category')} <li class = "li-parent"> <asset class="m

我的prestashop模板中有这段代码,没有循环,只有条件,我有5个返回按钮(elseif部分,第一个li标记),为什么会这样

{if $node.children|@count > 0 && ($smarty.get.controller!='product' && $smarty.get.controller!='category')}

    <li class = "li-parent">
    <asset class="menu-arrow-left"></asset>
    <p><span><a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a></span></p>


{elseif $node.children|@count > 0 && ($smarty.get.controller=='product' || $smarty.get.controller=='category')}

    <li class="li-back"><asset class="menu-arrow-right"></asset><p class="class="border-bottom-grandiet-small"><span>Back</span></p></li>
    <li class = "li-parent">
    <p><span><a href="{$node.children[0].link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.children[0].name|escape:'htmlall':'UTF-8'}</a></span></p>

{/if}
{if$node.children |@count>0&&($smarty.get.controller!='product'&&&$smarty.get.controller!='category'))
  • {elseif$node.children |@count>0&($smarty.get.controller='product'| |$smarty.get.controller=='category'))
  • {/if}
  • 我在代码中没有看到任何可能导致显示5个后退按钮的内容。我怀疑这个代码包含在某种循环中,这就是为什么它会显示5次

    您应使用以下命令更改上述全部代码:

    testonly
    
    然后查看页面或页面源代码,检查将显示多少
    testonly
    文本

    如果您真的使用循环,那么您也可能需要使用一些额外的条件。例如,而不是:

    <li class="li-back"><asset class="menu-arrow-right"></asset><p class="class="border-bottom-grandiet-small"><span>Back</span></p></li>
    
    <li class = "li-parent">
        <p><span><a href="{$node.children[0].link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.children[0].name|escape:'htmlall':'UTF-8'}</a></span></p>
    
  • 你应使用:

    <li class = "li-parent">
        <p><span><a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a></span></p>
    

  • 但是,如果我们不知道数据结构是什么,以及您想要实现什么,那就很难说了。如果它仍然不起作用,你应该为你的问题提供更多的细节,解释你想要实现什么,变量中有什么数据等等。

    仍然一样,Test只出现5次,但例如标记中的链接不会重复。它不起作用,但我会尝试修复它,如果我能解决它,我会让你知道。谢谢你的帮助。
    <li class = "li-parent">
        <p><span><a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a></span></p>