Yii2:如何跟踪用户来自哪个页面?

问题描述 投票:0回答:1

示例:假设我有页面 A、页面 B 和页面 C。 从页面 A 和页面 B 我都可以访问页面 C,并且在页面 C 中我有一个“返回”按钮,我可以在其中返回到之前所在的页面。 现在假设我有 n 个页面可以从其中转到 C,我将如何处理?

目前我正在使用

$_SESSION
来存储这些值并将其值分配给按钮的 URL 属性,但我认为这可能不是最佳实践,因为我们会用很多无用的东西填充
$_SESSION
变量

php view yii2
1个回答
0
投票

我猜你需要一个面包屑路径。 首先,您必须在布局文件中创建面包屑小部件,例如。 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;

第一个示例有另一个页面的链接,第二个示例仅显示页面标题,没有链接。

更多信息

© www.soinside.com 2019 - 2024. All rights reserved.