示例:假设我有页面 A、页面 B 和页面 C。 从页面 A 和页面 B 我都可以访问页面 C,并且在页面 C 中我有一个“返回”按钮,我可以在其中返回到之前所在的页面。 现在假设我有 n 个页面可以从其中转到 C,我将如何处理?
目前我正在使用
$_SESSION
来存储这些值并将其值分配给按钮的 URL 属性,但我认为这可能不是最佳实践,因为我们会用很多无用的东西填充 $_SESSION
变量
我猜你需要一个面包屑路径。 首先,您必须在布局文件中创建面包屑小部件,例如。 main.php.
<?= Breadcrumbs::widget([
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>
您可以通过在小部件之前添加以下代码来添加一些固定链接,例如“HOME”或“BACK”。 .
// back-button in breadcrumbs
if (!empty($this->params['breadcrumbs'])) {
array_unshift(
$this->params['breadcrumbs'],
[
'label' => 'BACK',
'url' => Yii::$app->request->referrer,
'title' => Yii::t('app', 'back'),
]
);
}
其次,您可以通过向
$this->parameters['breadcrumbs']
添加值来将面包屑添加到视图文件中的跟踪中。$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'name of breadcrumb'), 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
第一个示例有另一个页面的链接,第二个示例仅显示页面标题,没有链接。