代码之家  ›  专栏  ›  技术社区  ›  moh

导航栏项目中的访问控制器变量

  •  2
  • moh  · 技术社区  · 8 年前

    在导航栏的布局文件中,我有一个名为message的项目。我想在上面显示消息的数量,实际上我可以在其中构建一个隐藏元素和一个变量,然后再次获取它,并用Jquery将其附加到项中的Emperty元素。。。但是如果有更简单、更简短的方法,我想知道

    在这样做之前,我得到了消息计数

     namespace app\component;
    
        class Controller extends \yii\web\Controller {
    
            public function beforeAction($event)
            {
    
                $this->layout = "site-developer";
    
                $username = Yii::$app->user->identity->username;
                $model = Messages::find()->select('*')->where(['towho' => $username])->count();
    
                $this->view->params['model'] = $model;
    
    
                return parent::beforeAction($event);
            }
    
    
        }
    

    <?php
    NavBar::begin([
        'brandOptions' => [
            'class' => 'hide-on-med-and-down'
        ],
        'brandLabel' => 'My Company',
        'brandUrl' => Yii::$app->homeUrl,
        'fixed' => false,
        'wrapperOptions' => [
            'class' => 'nav-wrapper'
        ],
    ]);
    
    $menuItems = [
        ['label' => '<i class="material-icons">search</i>'],
        ['label' => '<i class="material-icons">email</i>'],
        ['label' => '<i class="material-icons">view_module</i>'],
        ['label' => '<i class="material-icons">refresh</i>'],
        ['label' => '<i class="material-icons">more_vert</i>', 'items' => [  // will be rendered as dropdown
            ['label' => 'Home', 'url' => ['/site/index']],
            ['label' => 'About', 'url' => ['/site/about']],
            ['label' => 'Home', 'url' => ['/site/about']],
            ['label' => 'Contact', 'url' => ['/site/contact']]
        ]],
    
    ];
    if (Yii::$app->user->isGuest) {
        $menuItems[] = ['label' => '<i class="fa fa-sign-in"></i>', 'url' => ['/site/signup'], 'class'=>'aa'];
        $menuItems[] = ['label' => '<i class="fa fa-sign-in"></i>', 'url' => ['/site/login'], 'class'=>'aa'];
    } else {
        $menuItems[] = '<li>'
            . Html::beginForm(['/site/logout'], 'post')
            . Html::submitButton(
                '<i class="fa fa-sign-out"></i> (' . Yii::$app->user->identity->username . ')',
                ['class' => 'badge red lighten-2 user-dash']
            )
            . Html::endForm()
            . '</li>';
    }
    
    echo Nav::widget([
        'encodeLabels' => false,
        'options' => ['class' => 'right'],
        'items' => $menuItems,
    
    ]);
    
    NavBar::end();
    ?>
    

    有什么方法可以在导航栏的菜单项中输入信息的编号吗 ['label' => '<i class="material-icons">email</i>'],

    ???

    我们可以使用

    <?php
    
    $model = $this->params['model'];
    
    echo $model; ?>
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   ScaisEdge    8 年前

    事实上你已经 'encodeLabels' => false, Nav::widget 您可以在标签内容中连接该值

    ['label' => '<i class="material-icons">email(' . $this->params['model']. ')</i>'],