2016-08-01 58 views
0

如何檢查項目的名稱並顯示它?如何檢查迭代有名字?

我currenty代碼,檢查,如果該項目爲偶數或奇數:

{foreach $panels as $item} 
{if [email protected] is odd} 
{outputHomePanels} 
{/if} 
{/foreach} 

整個代碼:

{function name=outputHomePanels} 
       <div menuItemName="{$item->getName()}" class="panel panel-default panel-accent-{$item->getExtra('color')}{if $item->getClass()} {$item->getClass()}{/if} {$item->getName()}"{if $item->getAttribute('id')} id="{$item->getAttribute('id')}"{/if}> 
        <div class="panel-heading"> 
         <h3 class="panel-title"> 
          {if $item->getExtra('btn-link') && $item->getExtra('btn-text')} 
           <div class="pull-right"> 
            <a href="{$item->getExtra('btn-link')}" class="more-link"> 
             {$item->getExtra('btn-text')} 
            </a> 
           </div> 
          {/if} 
          <div class="clientarea-icon {$item->getName()}"> 
          {if $item->hasIcon()}<i class="{$item->getIcon()}"></i>{/if} 
          </div> 
          <div class="clientarea-title"> 
          {$item->getLabel()} 
          </div> 
          {if $item->hasBadge()}<span class="badge">{$item->getBadge()}</span>{/if} 
         </h3> 
        </div> 
        {if $item->hasBodyHtml()} 
         <div class="panel-body"> 
          {$item->getBodyHtml()} 
         </div> 
        {/if} 
        {if $item->hasChildren()} 
         <div class="list-group{if $item->getChildrenAttribute('class')} {$item->getChildrenAttribute('class')}{/if}"> 
          {foreach $item->getChildren() as $childItem} 
           {if $childItem->getUri()} 
            <a menuItemName="{$childItem->getName()}" href="{$childItem->getUri()}" class="list-group-item{if $childItem->getClass()} {$childItem->getClass()}{/if}{if $childItem->isCurrent()} active{/if}"{if $childItem->getAttribute('dataToggleTab')} data-toggle="tab"{/if}{if $childItem->getAttribute('target')} target="{$childItem->getAttribute('target')}"{/if} id="{$childItem->getId()}"> 
             <div class="clientarea-icon {$childItem->getLabel()|stristr:'<' : true}"> 
              <i class="icon-clientarea-product"></i> 
             </div> 
             <div class="clientarea-title"> 
              {assign var="splitItem" value=" - "|explode:$childItem->getLabel()} 
{$splitItem[1]} 
             </div> 
             {if $childItem->hasBadge()}&nbsp;<span class="badge">{$childItem->getBadge()}</span>{/if} 
            </a> 
           {else} 
            <div menuItemName="{$childItem->getName()}" class="list-group-item{if $childItem->getClass()} {$childItem->getClass()}{/if}" id="{$childItem->getId()}"> 
             {if $childItem->hasIcon()}<i class="{$childItem->getIcon()}"></i>&nbsp;{/if} 
             {$childItem->getLabel()} 
             {if $childItem->hasBadge()}&nbsp;<span class="badge">{$childItem->getBadge()}</span>{/if} 
            </div> 
           {/if} 
          {/foreach} 
         </div> 
        {/if} 
       </div> 
      {/function} 

我需要檢查,如果該項目的名稱是「有源產品/服務」。

我該如何做到這一點?

+0

這是行不通的? {if $ item @ name ==「Active Products/Services」}} – vitorsdcs

+0

解釋一下,在這裏添加$ panels數據。 –

+0

@GovindSamrow我編輯更多代碼。 –

回答

0
if ($item == "Active Products/Services") { 

    // code here 

} 
+0

試過,但那不行。看到我更新的問題。 –

0

這看起來像Smarty代碼,而不是PHP代碼。你的語義也有點混亂。如果你的意思是你應該如何檢查匹配的陣列,那麼價值的關鍵....

{foreach $panels as $name=>$item} 
    {if ("Active Products/Services" == $name) } 
    ... 
    {/if} 
    {if [email protected] is odd} 
    {outputHomePanels} 
    {/if} 
{/foreach} 

OTOH,如果你只是想「outputHomePanels」裏的名字是「激活產品/服務」然後...

{ if ($name = isset($item['Active Products/Services']) ? $item['Active Products/Services'] : false) } 
    {outputHomePanels} 
{/if} 

...但你不應該在smarty中實現應用程序邏輯 - 這應該是在PHP中。

+0

試過,但那不行。看到我更新的問題。 –