2012-08-13 71 views
-2

我試圖將if語句添加到以下函數的li標記中,但我似乎無法獲得正確的命名...我添加了「在這裏添加代碼「註釋我相信它應該去的地方。只有在符合條件的情況下才將類添加到HTML標記

我想要的是if語句來檢查$ pageID和$ thispage是否相同.....如果是這樣,請將class =「current」添加到li標記中,否則不要添加任何東西,但我似乎無法得到正確的語法。

if ($thisPage==$pageID) echo " class=\"current\""; 

<?php 
function buildMenu($parent, $menu, $level = 1) 
{ 
    $menulist = ""; 
    if (isset($menu['parents'][$parent])) 
    { 
     $menulist .= "<ul"; 
     if ($level == 1) 
     { 
      $menulist .= " class=\"sf-menu\""; 
     } 
     $menulist .= ">\n"; 
     foreach ($menu['parents'][$parent] as $itemId) 
     { 

      if(!isset($menu['parents'][$itemId])) 
      { 
      $menulist .= " <li "ADD CODE HERE" ><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a></li> \n"; 
      } 
      if(isset($menu['parents'][$itemId])) 
      { 
      $menulist .= " <li "ADD CODE HERE" ><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a>"; 

      $menulist .= buildMenu($itemId, $menu, $level+1); 

      $menulist .= "</li> \n"; 
     } 
     } 
     $menulist .= "</ul> \n"; 
    } 
    return $menulist; 
}?> 

回答

0

我不知道我的理解是什麼,你正在嘗試做的。你的意思是這樣的:

$menulist .= " <li "; 
echo ($pageID==$thisPage) ? ' class="current" ' : " "; 
$menulist .=" ><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a>"; 

這將回聲出「Boogey Woogey」,你有你的LI「在此處添加代碼」節?

+0

我要的是if語句檢查$ pageID和$ thispage是否相同.....如果是這樣,請將class =「current」添加到li標籤中,否則不要添加任何內容,但不能添加任何內容似乎得到正確的語法。 – dmschenk 2012-08-13 03:57:39

+0

@dmschenk添加了一些代碼,你應該更接近你正在尋找。 – Fluffeh 2012-08-13 04:24:16

1

基於您以前的評論,這將增加class="current"<li>標籤只有$pageID等於$thisPage

$menulist .= '<li'; 
if ($pageID == $thisPage) 
    $menulist .= ' class="current"'; 
$menulist .= '><a href="'.$menu['items'][$itemId]['menuURL'].'">'.$menu['items'][$itemId]['menuName'].'</a>'; 

此代碼應更換行:

$menulist .= " <li "ADD CODE HERE" ><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a>"; 
相關問題