2014-10-05 27 views
10

Menüdeki arka uç kısmından (veya arka uçtan yöneticiye) ön kısımlara bağlantılar eklemem gerekiyorsa, bunu kod olmadan nasıl yapabilirim? Bu: ek farklı bir isim ve yapılandırmayla 'UrlManager' bileşeni ön uç uygulaması kullanılan birine eşittir eklemek gerekir arka uç uygulama konfigürasyonundaYii2 Ön Uç ve Arka Uç arasındaki bağlar (gelişmiş şablon)

/sitename/backend/web 
/sitename/frontend/web 

cevap

19

dir ebeveynlerden

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

döner yolu:

: Sonra

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

    ], 
]; 

Eğer ön uç URL oluşturmak için aşağıdaki çağırmak gerekir

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

, o olmalı şuna benzer? $ menuItems = ['label' => 'Home', 'url' => ['/ site/index']], ['label' => 'Frontend', 'url' => [Yii :: $ app-> urlManagerFrontEnd-> createUrl ('/')]], ]; – WebArtisan

+0

evet ama bu Yii :: $ app-> urlManagerFrontEnd-> createUrl ('/') forntend yolunda döndü, ancak örneğin Yii :: $ app-> urlManagerFrontEnd-> createUrl ('controllerName/ActionName ') –

+0

Ne yazık ki, ama im navbar Navbar'da linkte Frontend ama işler bu koyarsanız sadece :: başlamak çalışır ([... Ben gezinme çubuğu üzerinde onu kullanacağız var ise: isteği açılamıyor çözmek için "sitename/frontend/web". Belki de Navbar istek için eski baseurl ekleyin. – WebArtisan

3

Benim hata-ı yanlış

Yanlış bağlantı değeri göndermek:

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

Thats İşleri: Yani

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