|
|||||||
Yii 2: как задать новый шаблон для сайта
Время создания: 18.12.2017 19:01
Текстовые метки: yii 2, шаблон, сайт, layout
Раздел: Компьютер - Программирование - Язык PHP - Yii2
Запись: xintrea/mytetra_syncro/master/base/15136129094e7qv7do3z/text.html на raw.github.com
|
|||||||
|
|||||||
В коде фреймверка Yii 2 захардкожено название шаблона (layout), который используется по-умолчанию при рендеринге страницы сайта. Шаблон по-умолчанию называется main, и он располагается в файле /views/layouts/main.php. Чтобы изменить шаблон (имеется в виду чтобы задать другой файл шаблона), в конфигурации предусмотрена настроечная переменная layout. По-умолчанию она в конфигурации не прописана, но ее всегда можно добавить. Для этого нужно в переменную $config файла /config/web.php добавить строку: $config = [ ... 'layout'=>'bestTemplate', ... ]; После чего при рендеринге видов будет использоваться именно этот шаблон. Вышеописанным способом задается шаблон по-умолчанию для всего сайта. А что делать, если для какого-то контроллера необходим отдельный шаблон? Для этого у класса контроллера есть специальное свойство $layout. Его нужно просто задать в спике инициализации контроллера или в конструкторе. class PostController extends Controller { public $layout = 'post';
// ... } А если это необходимо, это свойство можно задать даже перед непосредственным вызовом рендеринга вида. В общем случае, Yii определяет какой шаблон использовать для контроллера в два этапа. На первом этапе определяется значение шаблона и контекстный модуль:
На втором этапе определяется сам файл шаблона для рендеринга на основании значения $layout и контекстного модуля. Значением $layout может быть:
Если у значения $layout (а это, как уже понятно, просто строка с названием нужного шаблона) нет расширения, будет использовано расширение по умолчанию - .php.
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|