Yii2前端和后端之间的链接(高级模板)

问题描述 投票:11回答:2

如果我需要从菜单后端部分(或从后端到管理员)添加链接到前端的东西,我怎么能在没有硬编码的情况下做到这一点?这个:

 \Yii::$app->request->BaseUrl 

从父母dir返回路径

/sitename/backend/web
/sitename/frontend/web
php yii2
2个回答
22
投票

在后端应用程序配置中,您应该添加额外的“UrlManager”组件,其名称和配置与前端应用程序使用的名称和配置相同:

return [
    'components' => [
        'urlManager' => [
            // here is your backend URL rules
        ],
        'urlManagerFrontEnd' => [
            'class' => 'yii\web\urlManager',
            'baseUrl' => '/a/frontend/web',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ],

    ],
];

然后你应该调用以下来组成前端URL:

Yii::$app->urlManagerFrontEnd->createUrl();

3
投票

我的错 - 我错误地发送了链接值。

错误:

$menuItems[] = ['label'=>'frontend', 'url'=>[\Yii::$app->urlManagerFrontEnd->baseUrl]];

多数民众赞成:

$menuItems[] = ['label'=>'frontend', 'url'=>\Yii::$app->urlManagerFrontEnd->baseUrl];
© www.soinside.com 2019 - 2024. All rights reserved.