Drupal book: видео, статьи о Drupal 8 и Drupal 7

10.3. Каталог Ubercart. Категории и подкатегории.

Drupal ubercart catalog

Для того чтобы у вас был в магазине на Ubercart каталог категорий, нужно включить модуль catalog:

drupal ubercart catalog

Прежде чем включать модуль Catalog лучше сразу включить модули Product, Store, Country.

После установки у нас появится словарь наших разделов товаров Каталог:

/admin/structure/taxonomy

9.3. Отключаем кеш в Drupal 8. Вывод debug информации в шаблоне.

Drupal 8 Twig cache

Прежде чем приступить к разработке на Drupal 8 следует отключить кеш. В отличии от Drupal 7 в 8ой версии друпала кешируется не только сущности, views, поля, теперь кешируются скомплированные шаблоны twig'a и всевозможные render'ы. Для того чтобы отключить весь этот кеш, нужно сделать следующее.

1. Скопируйте файл /sites/example.settings.local.php в файл /sites/default/settings.local.php

В этом файле уже есть необходимые настройки для отключения кеша

Как легко и быстро создать сайт на шаблоне Drupal

Итак, вы решили создать свой сайт. Проанализировав все за и против, вы выбрали шаблон Drupal в качестве основы. К вопросу о выборе движка следует подходить здраво. Многие часто спрашивают: чем лучше один движок, чем плох другой. Поймите, нельзя сказать что какая-то система управления содержимым хорошая, а какая-то плохая.

4.5.7. Агрегация данных во Views.

Модуль Views позволяет, не только выводить данные из таблиц друпала как они есть, но он также умеет подсчитывать это строки и группировать результаты. Эта возможность называется агрегацией (aggregation).

По умолчанию из коробки в друпале есть словарь таксономии Тэги (Tags). Давайте создадим блок с самыми популярными тегами и выведем в конце каждого тега, сколько материлов на сайте с этим тэгом. У нас получится примерно такой список:

Drush установка Drupal с выбранным языком

Для быстрой установки друпал (особенно Drupal 8, который ставится вечность) используйте комманду drush si:

drush si --db-url=mysql://root:password@127.0.0.1/drupal --account-name=admin --account-pass=admin --site-mail=admin@example.com --site-name="Drupal 8" --locale=ru --yes

Через --locale можно задать любой нужный вам язык для друпал.

ngrok показываем локальный сайт заказчику

Очень часто deploy сайта занимает некоторое время, которое не хочется тратить несколько раз за день, если вам нужно сделать и показать несколько новый фич на сайте заказчику. Ngrok поможет нам в том, чтобы создать туннель от заказчика к вашему локальному сайту.

https://ngrok.com/

9.2. Создание темы на основе Bootstrap. Настраиваем PhpStorm, LESS Compiler для работы с нашей темой.

Bootstrap

В прошлых уроках мы уже разбирали как создавать тему на основе другой темы Stable. В этом уроке мы разберем как создавать тему на основе Bootstrap -  популярного фреймворка для быстрого создания оформления страниц.

Я думаю у вас уже есть установленный Drupal 8. Давайте перейдем к установке Bootstrap:

https://www.drupal.org/project/bootstrap

12.3. Создаем кастомный Drupal 8 модуль. Вывод страницы программно.

Drupal 8 module

Начнем создание нашего модуля с небольшого упорядочивания. Давайте впредь будем разделять модули кастомные и контрибные. В 8ом друпале модули лежат в папке /modules. Теперь нам не нужно класть их вглубь /sites/all/modules, хотя в readme написано, что это должно работать используйте все-таки папку /modules. Внутри папки /modules мы создадим две папки custom и contrib. В папке contrib будут храниться дополнительные модули с drupal.org, а в папке custom будут храниться наши кастомные модули.

12. Разработка модулей для Drupal 8.

Drupal 8

Все что мы разбирали разбирали раньше, все было похоже на предыдующие версии друпала. Но с разработкой все обстоит по другому. Хотя сверху друпал выглядит также как и Drupal 7, но внутри друпал состоит из компонентов Symfony, своих компонентов, а также библиотек на все случаи жизни. Поэтому придется разобраться с новой системой плагинов, разобраться с ООП в PHP.

Для начала мы начнем с уже довольно привычных вещей хуков друпала, потом разберемся как работает друпал со страницами (route), добавим новую страницу, рассмотрим как друпал обрабатывает запросы.

Страницы