【问题标题】:Yii Bootstrap Navbar .active not applying on some pagesYii Bootstrap Navbar .active 不适用于某些页面
【发布时间】:2013-05-21 07:49:09
【问题描述】:

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

Index | About us | FAQ | Login ...

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

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

// in SiteController.php: 

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

【问题讨论】:

    标签: php twitter-bootstrap yii


    【解决方案1】:

    如果您使用CMenu 显示您的菜单,将active 键添加到实际菜单项可能会解决您的问题。

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

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

    完整的 sn-p 看起来像这样:

    $this->widget('zii.widgets.CMenu', array(
        'items' => array(
            'label'=>'Blog',
            'active'=>(Yii::app()->controller->action->id=='blog')
        )
    );
    

    【讨论】:

      【解决方案2】:

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

      查看此处了解如何解析活动属性: https://github.com/yiisoft/yii/blob/master/framework/zii/widgets/CMenu.php#L306

      【讨论】:

      • 我查过了,他们是。我有一个,称为 Gallery(指向:site.com/gallery),当我单击它时,URL 与链接的 href 相同。这仍然是一些网站的问题,但我找不到工作网站和非工作网站之间的任何区别。 :\
      • 我发现了 1 个不同之处,但这应该不是问题。我将 yii-bootstraps TbNavbar 小部件用于主菜单,当我添加一个带有 'url' => array('/user/statistics') 的 menuItem 时,它就可以工作了。但是当我使用'url' => array('/user/profile/id'.Yii::app()->user->id) 时,它就不起作用了。我在一个地方替换了 Controller 的 createUrl 并在那里解决了,但没有使用配置文件 menuItem。真的很混乱……
      • 但是在客户端的HTML中有正确的href值。
      • 如果这是一个精确的复制/粘贴,似乎配置文件的 url 将是无效的,因为它在 id 后面缺少一个尾随 '/'。另外,我希望使用路由/参数方法创建 url: 'url' => array('/user/profile', array('id' => Yii::app()->user->id )) FWIW,我已经看到这个问题出现了很多次,而且它总是一件愚蠢的小事,让它无法按预期运行。
      • 我知道这是一个相对较旧的帖子,可能已经为 OP 解决了,但为了完整起见,@PrplHaz4,我认为你说“你必须确保每个菜单 url 中的项目与您要访问的确切 url 匹配”。您真正需要做的唯一一件事是为特定菜单设置一个“活动”键,并为其赋予您喜欢的任何条件的值,即。 'active'=>(Yii::app()->controller->action->id=='blog')
      猜你喜欢
      • 1970-01-01
      • 2015-02-18
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多