10
如果我需要在菜單(或從後端到管理員)中從後端部分添加前端鏈接到前端,我如何在沒有硬編碼的情況下做到這一點? 此:Yii2前端和後端之間的鏈接(高級模板)
\Yii::$app->request->BaseUrl
回報父母DIR
/sitename/backend/web
/sitename/frontend/web
如果我需要在菜單(或從後端到管理員)中從後端部分添加前端鏈接到前端,我如何在沒有硬編碼的情況下做到這一點? 此:Yii2前端和後端之間的鏈接(高級模板)
\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,
],
],
];
那麼你應該調用以下組成前端網址:
Yii::$app->urlManagerFrontEnd->createUrl();
是我的錯,我錯了發送鏈接的價值
錯誤:
$menuItems[] = ['label'=>'frontend', 'url'=>[\Yii::$app->urlManagerFrontEnd->baseUrl]];
那作品:
$menuItems[] = ['label'=>'frontend', 'url'=>\Yii::$app->urlManagerFrontEnd->baseUrl];
,它必須看起來是這樣的? $ menuItems = [ ['label'=>'Home','url'=> ['/ site/index']], ['label'=>'Frontend','url'=> [Yii :: $ app-> urlManagerFrontEnd-> createUrl('/')]], ]; – WebArtisan 2014-10-05 20:08:59
yes但是這個Yii :: $ app-> urlManagerFrontEnd-> createUrl('/')在forntend路徑中返回,但您需要在create url中設置例如Yii :: $ app-> urlManagerFrontEnd-> createUrl('controllerName/ActionName 「) – 2014-10-05 20:12:57
可悲的是,但它只能如果即時通訊把這個鏈接 Frontend 但不是作品導航欄的NavBar ::開始([... 我得到了這一點,如果我用它在導航欄: 無法解析請求「sitename/frontend/web」 也許Navbar添加舊的基地址請求 – WebArtisan 2014-10-05 21:07:57