2014-10-05 11 views

Odpowiedz

19

W swojej konfiguracji aplikacji backend należy dodać dodatkowy element „urlManager” z inną nazwą i konfiguracji jest równa stosowanej w końcowej aplikacji przednim:

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

    ], 
]; 

Następnie należy powołać następujące komponować front-end URL:

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

Tak, to musi wyglądać tak? $ menuItems = [ ['label' => 'Home', 'url' => ['/ site/index']], ['label' => 'Frontend', 'url' => [Yii :: $ app-> urlManagerFrontEnd-> createUrl ('/')]], ]; – WebArtisan

+0

tak, ale ten Yii :: $ app-> urlManagerFrontEnd-> createUrl ("/") zwrócony w ścieżce forntend, ale musisz ustawić w create url na przykład Yii :: $ app-> urlManagerFrontEnd-> createUrl ('controllerName/ActionName „) –

+0

Niestety, ale to działa tylko wtedy, gdy im umieścić to w linku Frontend , ale nie działa w NavBar NavBar :: begin ([... mam to czy mogę użyć go w pasku nawigacyjnym: nie można rozwiązać żądanie "sitename/frontend/web." Być może Navbar dodaje stare baseurl do żądania. – WebArtisan

3

mój błąd-i źle wysłać wartość łącza

Źle:

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

Ów Works:

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