删除if语句后的第一个元素

时间:2014-02-14 07:26:16

标签: php smarty

需要删除所有这些语句后的第一个元素,我尝试将key=i添加到第二个foreach,然后添加{if $i!=0},但它对我不起作用,因为我有多级系统并且在所有if语句之后,所有页面的$i首先不同。

{foreach from=$page.path item=e}
  {assign var=element value=0}
    {foreach from=$menu3 item=r}
     {if $e.page_id==$r.page_id}{assign var=element value=$r}{/if}
      {if $element._left < $r._left && $element._right > $r._right}
       {if $r._level==$element._level+1 && $r._level==$page._level}
         <a href="{$r.url}">{$r.name}</a>
       {/if}
      {/if}
    {/foreach}
{/foreach}

P.S。抱歉我的英文。

2 个答案:

答案 0 :(得分:0)

为您添加一个名称foreach并执行类似的操作以获取索引

{foreach from=$items key=myId item=i name=foo}
    {$smarty.foreach.foo.index} <!-- It will show index -->
{/foreach}

答案 1 :(得分:0)

我假设您不想在每个菜单中显示第一个元素,对吗?

{foreach from=$page.path item=e}
    {assign var=first_skipped value=0}
    {assign var=element value=0}
    {foreach from=$menu3 item=r}
        {if !$first_skipped}
            {assign var=first_skipped value=1}
        {else}
            {if $e.page_id==$r.page_id}{assign var=element value=$r}{/if}
            {if $element._left < $r._left && $element._right > $r._right}
                {if $r._level==$element._level+1 && $r._level==$page._level}
                <a href="{$r.url}">{$r.name}</a>
                {/if}
            {/if}
        {/if}
    {/foreach}
{/foreach}