2016-05-25 2 views
1

У меня есть модуль продуктов в моем приложении, который я регистрирую как на бэкэнд, так и на интерфейсе моего предварительного приложения, я хочу достичь, если пользователь получит доступ к модулю продукта из приложения frontend. Я хочу отобразить другое layout not /myproject/frontend/web/views/layouts/main.php let say Я хочу сделать /myproject/frontend/web/views/layouts/productLayout.php. И если администратор получает доступ к модулю продукта из бэкэнд-приложения, я хочу отобразить /myproject/backend/web/views/layouts/main.php. без изменения моего кода он отлично работает в backend-приложении, поскольку он использует /myproject/backend/web/views/layouts/main.php, но в интерфейсе он не работает хорошо, поскольку он использует/myproject/frontend/web/views/layouts /main.php вместо /myproject/backend/web/views/layouts/productLayout.php. я попробовал это в моем коде в контроллере продукты модуль по умолчаниюКак изменить макеты в yii2

public $productLayout = '@frontend/views/layouts/productLayout'; 
public function actionIndex() 
{ 
    $this->layout = $this->productLayout; 
} 

и она прекрасно работает в веб-интерфейсе, но когда я пытаюсь получить доступ из внутреннего интерфейса она не работает, как он загружает файл макета интерфейс ... любой help на этом будет хорошо спасибо

+0

Кажется, вам нужно два разных формата в зависимости от приложения .. .. это то, что вам нужно? – scaisEdge

+0

да мне нужно два разных макета один во внешнем приложении в зависимости от приложения, а другой в приложении backend в зависимости от приложения backend – sam

+0

Я отправил ответ с предложением – scaisEdge

ответ

1

Вы можете протестировать идентификатор приложения (и в конечном итоге установить его с помощью уникального имени в config/main.php) и установить необходимый макет.

public function actionIndex() 
{ 
    if (Yii::$app->name == 'my_id_for_backend') { 
    $this->layout == '@backend/views/layouts/main'; 
    } else { 
     $this->layout ='@frontend/views/layouts/productLayout'; 
    } 
} 
+0

это работает благодаря мужчине – sam

Смежные вопросы