Теги: Yii2
12.05.2019
Передавая данные через второй параметр метода render(), мы явно передаем данные в view-шаблон. Данные должны быть представлены как ассоциативный массив в виде пар ключ-значение. При рендеринге вида, php вызывает встроенную функцию extract(), чтобы переменные из массива «распаковались» в переменные view-шаблона.
12.05.2019
Давайте немного подумаем о SEO-оптимизации и установим для страниц нашего сайта мета-теги. Мета-теги влияют на то, как отображатся и какую позицию занимает страница сайта в поисковой выдаче Yandex и Google. При прочих равных условиях поисковики отдают предпочтение сайту с грамотно сформированными мета-тегами.
10.05.2019
Следующий шаг — вывести список товаров отдельного бренда. И создать страницу всех брендов. Методы в модели для получения списка товаров бренда и получения списка всех брендов у нас уже есть. Методы actionBrands и actionBrand в контроллере тоже определены. Осталось только создать файлы view-шаблонов brand.php и brands.php.
08.05.2019
Итак, мы вывели на главной странице список лидеров продаж. Теперь покажем список товаров выбранной категории. Нам нужно добавить в модель два метода: один — для получения информации о категории и второй — для получения списка товаров. Или, сделать еще проще — добавить только первый метод, а потом использовать…
06.05.2019
Давайте создадим контроллер PageController, который будет отвечать за показ страниц сайта, не связанных с каталогом товаров. Вообще, такой контроллер уже есть сразу после установки фреймворка — это SiteController, но мы его оставим без изменений, как образец. В первую очередь, надо переопределить контроллер по умолчанию.
06.05.2019
Допустим, нам нужно для главной страницы сайта выводить сайдбар, а для других страниц — не выводить. При этом подключение сайдбара нужно сделать в layout-шаблоне, а не в view-шаблоне, чтобы вид отвечал только за вывод контента. В этом случае нет необходимости создавать два идентичных layout-шаблона…
05.05.2019
Кэширование данных заключается в сохранении некоторой переменной PHP в кэше и её последующем извлечении. Оно является основой для расширенных возможностей, таких как кэширование запросов и кэширование страниц. Типичные варианты кэширования и получения данных…
05.05.2019
В левой колонке, под меню каталога, предусмотрен блок популярных брендов. Этот блок показывается на всех страницах сайта, так что оформим его в виде виджета. Все по аналогии с виджетом меню каталога — создаем в директории components файл BrandsWidget.php и view-шаблон в поддиректории views.
05.05.2019
Создадим в базе данных таблицу brand для хранения брендов. И добавим в таблицу product внешний ключ brand_id. Создадим модель для этой сущности, и добавим два action-а в контроллер — которые будут отвечать за показ списка всех брендов и за показ списка товаров выбранного бренда.
04.05.2019
Теперь нам нужно как-то выводить меню каталога в левой колонке. Поскольку это меню показывается на многих страницах сайта, реализуем его в виде виджета. И тогда сможем вставить меню в любом месте шаблона одной строкой кода. Для создания виджета нам потребуется директория components, внутри нее создаем файл класса.