2014-09-28 69 views
1

我有一個問題,我解決不了它...響應菜單/ main.php

What I want

佈局/ main.php

<div id='cssmenu'> 
    <?php 
     $menular = Yii::app()->db->createCommand() 
           ->select('m.idmenu, m.menuparent_id, m.url, m.title_'.Yii::app()->language) 
           ->from ('menu m') 
           ->where('m.menuparent_id=0 and m.active="1"') 
           ->order('m.idmenu asc')->queryAll(); 

     echo "<ul>"; 
     foreach($menular as $menu){ 
      if($menu['url'] == '#') 
       $echoUrl = 'javascript:void(0);'; 
      else 
       $echoUrl = $baseUrl.'/'.Yii::app()->language.$menu["url"]; 

      echo "<li class=''>"; 
      echo "<a href='".$echoUrl."' title='".$menu['title_'.Yii::app()->language]."'>".$menu['title_'.Yii::app()->language]."</a>"; 
      echo "</li>"; 
     } 
     echo "</ul>"; 
    ?> 
</div> 

在這場景腳本未分配active類到li ..

所以,請幫我解決這個問題。

我想我可以解釋有什麼問題。 謝謝。

P.S:cssscript代碼與我的佈局文件相同。

+0

稱爲如果它是一個javascript函數不工作,那麼你的js可能有些問題。你可以與我們分享你的精確腳本文件嗎? – 2014-09-28 21:05:08

+1

感謝您的回覆。但我使用的是與問題頂部相同的js(鏈接中)。 – 2014-09-29 04:29:11

回答

1

您可以使用以下選項之一來確認它是什麼控制器或操作,然後您可以將活動類分配給菜單,如果它屬於加載的頁面。

  1. 獲取這被稱爲

    Yii::app()->controller->id 
    
  2. 檢查這是被稱爲操作的控制器。

    Yii::app()->controller->route 
    

假設,例如,如果你想主動類分配給「關於我們」頁面,它正在從網站/約則

$active = Yii::app()->controller->route == "site/about" ? "active" : ""; 
echo "<li class='".$active."'>"; 
+0

感謝您的回覆。但是當我訪問'site/about'頁面時,所有菜單項都有'active'類。 – 2014-09-29 16:16:59