0

我有一个 Yii 项目,我在其中使用 yii-bootsrtap。我有一些用户可以从导航栏访问的静态页面(如常见问题解答和关于页面)。它看起来像这样:

Index | About us | FAQ | Login ...

我的问题是,当我导航到静态页面时,.active 类未应用于菜单栏项。它适用于其他页面,如索引和登录。

我正在使用自己的操作来呈现这些静态页面:

// in SiteController.php: 

public function actionStatic($view)
{
    $this->render('static/' . $view);
}
4

2 回答 2

1

如果您CMenu用于显示菜单,则在实际菜单项中添加一个active键可能会解决您的问题。

如果您将以下内容添加到您的特定菜单项,如果您正在使用的控制器操作是“博客”,它将显示为活动状态:

'active'=>(Yii::app()->controller->action->id=='blog')

完整的片段看起来像这样:

$this->widget('zii.widgets.CMenu', array(
    'items' => array(
        'label'=>'Blog',
        'active'=>(Yii::app()->controller->action->id=='blog')
    )
);
于 2014-08-29T21:51:06.063 回答
0

为了使默认的 CMenu “活动”属性起作用,您必须确保菜单 url 中的每个项目都与您要访问的确切 url 匹配(在本例中为静态/视图名称)。

请参阅此处了解如何解决活动属性: https ://github.com/yiisoft/yii/blob/master/framework/zii/widgets/CMenu.php#L306

于 2013-05-21T17:45:16.907 回答