-6

私は Yii で作業していて、突然このジレンマに陥りました。問題は、この時点まで CMenu を使用していて、Bootstrap を使用するときは TbMenu を使用していたことです。

しかし、この現在のプロジェクトでは、内部に多くの新しいスパンと div を含むまったく別のメニューを作成したため、現在の TbMenu または Cmenu と統合することは非常に困難であることが判明したため、メニュー HTML をそのまま配置していますメインレイアウト。ただし、任意のビューにアクセスすると、適切な「アクティブな」クラスがメニュー リスト項目に配置されます。

TbNavbar と CMenu はこれを自動的に実現できましたが、ビューに実装することはできません。

例えば ​​:

私はこれをナビゲーションバーとして持っています:

したがって、「someController/actionSomthing」にアクセスすると、次のようになります。

www.localhost.com/someController/actionSomthing

<nav>
<ul id="blah">
<li class="active"><a href ="#" >Something</a></li>
<li><a href ="#" >Something else</a></li>
<li><a href ="#" >another something</a></li>
</ul>
</nav>

したがって、基本的に特定のアクション/コントローラーにアクセスすると、liタグにclass = "active"を配置する必要があります。

助けてください。

よろしく、

4

3 に答える 3

0

TbMenuから継承されCMenuます。現在のプロジェクトでは、次を使用しますactive

<?php $this->widget('bootstrap.widgets.TbNavbar', array(
    'collapse'=>true,
    'htmlOptions'=>array('role'=>'navigation'),
    'items'=>array(
        array(
            'class'=>'bootstrap.widgets.TbMenu',
            'items'=>array(
                array(
                    'label'=>'Consultas',
                    'url'=>array('/someController/actionSomthing'),
                    'visible'=>Yii::app()->user->checkAccess('someController'),
                    'active'=>Yii::app()->controller->id=='someController'
                ),
            ),
        ),
    ),
)) ?>
于 2014-09-01T04:13:11.790 に答える