2012-08-13 72 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>"; 
相关问题