如果我需要从菜单后端部分(或从后端到管理员)添加链接到前端的东西,我怎么能在没有硬编码的情况下做到这一点?这个:
\Yii::$app->request->BaseUrl
从父母dir返回路径
/sitename/backend/web
/sitename/frontend/web
在后端应用程序配置中,您应该添加额外的“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();
我的错 - 我错误地发送了链接值。
错误:
$menuItems[] = ['label'=>'frontend', 'url'=>[\Yii::$app->urlManagerFrontEnd->baseUrl]];
多数民众赞成:
$menuItems[] = ['label'=>'frontend', 'url'=>\Yii::$app->urlManagerFrontEnd->baseUrl];