Yii2: Внедрение своей темы сайта (дизайна)
1. Сохранить вашу тему в папку web/themes. Это может быть собственный или готовый свёрстанный html-шаблон.
2. Внедрение. Здесь аккуратно заменить все динамические части кода на переменные Yii, разбить макеты.
В моём случае было сделано следующее. Меню NavBar я вынес в отдельный макет в layouts/_navbar.php
<?php use yii\bootstrap\Nav; use yii\bootstrap\NavBar; NavBar::begin([ 'brandLabel' => 'Школа брейка INSPIRE', 'brandUrl' => Yii::$app->homeUrl, 'options' => [ 'class' => 'navbar navbar-default navbar-custom navbar-fixed-top', ], 'innerContainerOptions' => ['class'=>'container-fluid'], //The HTML attributes of the inner container. ]); echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => [ ['label' => 'Главная', 'url' => ['/site/index']], ['label' => 'О нас', 'url' => ['/site/about']], ['label' => 'Блог', 'url' => ['/blog']], ['label' => 'Контакты', 'url' => ['/site/contact']], ], ]); NavBar::end(); ?>
и подключил его в шаблоне
<?= $this->render('/layouts/_navbar') ?>
Дальше подключил стили css и скрипты js. Это делается в assets/AppAsset.php
В Yii2 введено понятие пакетов "asset bundles". Я создал отдельный пакет assets/InspireAssetsBundle.php, в котором подключил свои css и js. Может понадобиться создать даже два пакета. Bundles сейчас в Yii2 могут применять css атрибут только сразу ко всем включённым свойствам, то есть
... public $cssOptions = [ 'type' => 'text/css' ]; ...
...
public $css = [
'themes/inspire/css/clean-blog.css',
'http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css',
'http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic',
'http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800',
];
...
public $depends = [ 'app\assets\AppAsset', ];
‘urlManager’ => array( ‘enablePrettyUrl’ => true, ‘showScriptName’ => false, ‘rules’ => array( ” => ‘site/index’, ‘login’ => ‘site/login’ ), ),
AddDefaultCharset UTF-8 Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 14 Разработка приложения на Yii. Урок 14: Выводим список категорий как новый виджет на сайте (29.04.2015)
- 13 Разработка приложения на Yii. Урок 13: Внедряем категории для статей. (29.04.2015)
- 12 Разработка приложения на Yii. Урок 12: Профилирование приложения, включаем кеширование. (20.01.2015)
- 11 Yiico. Видеокурс по разработке сайта на Yii. Урок 11: Отладка приложения, включаем журналирование. (20.01.2015)
- 10 Yiico. Видеокурс по разработке сайта на Yii. Урок 10: Если ваше приложение находится не в корневой папке, а во вложенной. (19.10.2014)
- 9 Разработка сайта на Yii с нуля. Урок 9. Выборка статей определённого автора. (13.08.2014)
- 8 Разработка сайта на Yii с нуля. Урок 8. Вызов в моделях функции, общей для них. Как избегать дублирования кода? (25.07.2014)
- 7 Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. (04.09.2013)
- 6 Разработка сайта на Yii с нуля. Урок 6. Автоматич. отправка оповещений об одобренных комментариях на email автора комментария (11.08.2013)
- 5 Разработка сайта на Yii с нуля. Урок 5. Переименовываем blog в yiico. Изменяем "Home" в breadcrumbs. Включаем Gzip-сжатие. (09.08.2013)
- 4 Курс по Yii с нуля. Урок 4. Дорабатываем простую работу с пользователями: хранение пароля при редактировании пользователя. (13.04.2013)
- 3 Курс по Yii с нуля. Урок 3. Создаём новых пользователей. Организуем простую систему авторизации. Аутентификация, пароли, соли. (20.07.2014)
- 2 Yii + Git (github) на Mac. (24.03.2013)
- 2 Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url (09.07.2014)
- 1 Курс по Yii с нуля. Урок 1. Устанавливаем Yii на локальном компьютере. Заводим проект будущего сайта. (10.03.2013)
- 0 Composer – пакетный менеджер PHP. Что и как? (22.07.2014)
- 0 MySQL: проверить содержится ли значение в поле столбца (в столбце хранится строка значений через запятую) (22.05.2014)
- 0 Yii: Статичные страницы (создание, редактирование, удаление) (28.04.2014)
- 0 Yii: Расширение ECKEditor = Связка ckeditor + kcfinder (визуальный редактор с бесплатным файловым менеджером) (28.04.2014)
- 0 Yii: Bootstrap tabs, делаем активной вкладку на которую выполняется переход по ссылке (20.03.2014)
- 0 Yii: Доступ к атрибуту модели из файла шаблона (Вызов в шаблоне какого-либо атрибута модели). (17.02.2014)
- 0 Yii: Множественный автокомплит с помощью CJuiAutoComplete (автокомплит нескольких значений в одно поле) (07.02.2014)
- 0 Yii: Фотогалерея через поведение (доработка расширения imagesgallerymanager) (08.03.2016)
- 0 Yii: Установка и настройка Yii-app заготовки приложения от Crisu83 (09.03.2014)
- 0 Twitter Bootstrap Carousel Crossfade (09.09.2013)