【问题标题】:Yii2: Is it possible to disable breadcrumbs in some case (mobile for example)Yii2:在某些情况下是否可以禁用面包屑(例如移动设备)
【发布时间】:2020-11-30 20:17:34
【问题描述】:

正如标题所说,在某些情况下,我想隐藏或禁用 Yii2 应用程序中的面包屑。 有什么通用的解决方案还是我应该把代码放在我的任何视图中?

【问题讨论】:

    标签: yii2 breadcrumbs


    【解决方案1】:

    我最终找到了这个解决方案:

    首先在app config/params.php 中添加一个参数:'ariane'

    return [
        'adminEmail' => 'admin@example.com', 
        'bsVersion' => '3.x',
        'ariane' => false,
    ];
    

    然后在布局 main.php 中添加代码以有条件地清空链接数组:

    <?php
      if(isset(Yii::$app->params['ariane']) && Yii::$app->params['ariane'] == false){
         $this->params['breadcrumbs'] = [];
      }        
    ?>
    

    【讨论】:

      【解决方案2】:

      为什么不把面包屑放在布局中,只检查一次。

      我的意思是在布局文件中是这样的:

      <?php if ($condition) {
          Breadcrumbs::widget([
              'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
          ]); 
      } ?>
      <?= $content ?> //view file content
      

      【讨论】:

      • 是的,但这只是一个细节,我是从 Yii 开始的,我主要是在寻找空数组代码的解决方案。由于参数可能会被 Session 变量替换,具体取决于移动设备与否、管理员与否等...
      猜你喜欢
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2020-01-10
      • 2014-08-09
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多