layouts / main.php中的响应式菜单

时间:2014-09-28 18:01:34

标签: php jquery css yii responsive-design

我遇到了问题,我无法解决问题......

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代码与我的布局文件相同。

1 个答案:

答案 0 :(得分:1)

您可以使用以下选项之一来确认它是什么控制器或操作,然后您可以将活动类分配给菜单(如果它属于已加载的页面)。

  1. 获取正在调用的控制器

    Yii::app()->controller->id
    
  2. 检查正在调用的操作。

    Yii::app()->controller->route
    
  3. 例如,假设您要将活动类分配给“关于我们”页面,并且正在从站点/大约调用它

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