【发布时间】:2020-11-30 20:17:34
【问题描述】:
正如标题所说,在某些情况下,我想隐藏或禁用 Yii2 应用程序中的面包屑。 有什么通用的解决方案还是我应该把代码放在我的任何视图中?
【问题讨论】:
标签: yii2 breadcrumbs
正如标题所说,在某些情况下,我想隐藏或禁用 Yii2 应用程序中的面包屑。 有什么通用的解决方案还是我应该把代码放在我的任何视图中?
【问题讨论】:
标签: yii2 breadcrumbs
我最终找到了这个解决方案:
首先在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'] = [];
}
?>
【讨论】:
为什么不把面包屑放在布局中,只检查一次。
我的意思是在布局文件中是这样的:
<?php if ($condition) {
Breadcrumbs::widget([
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]);
} ?>
<?= $content ?> //view file content
【讨论】: