仅在满足条件时才将类添加到HTML标记

时间:2012-08-13 03:42:11

标签: php html

我正在尝试将if语句添加到下面函数的li标签中,但我似乎无法使命名正确...我在这里添加了一个“ADD CODE”注释,我相信它应该去。

我想要的是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;
}?>

2 个答案:

答案 0 :(得分: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>";

答案 1 :(得分:0)

我不确定我明白你想要做什么。你是说这个:

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

这会反映出你在LI中有“添加代码”部分的“Boogey Woogey”吗?