Как начать изучение Drupal?
=============================

**Суть вопроса:** Есть ли какой-то комплексный курс по сабжу? Желательно, русскоязычный.  

  

По работе приходится администрировать сайты на разных cms, приглянулся Drupal, хочу попробовать создавать свои небольшие сайты на нём. Вопрос: как изучать 9 версию с максимальной эффективностью по соотношению время/результат?  

  

Если с 7 всё было более-менее понятно (сверстал html, перенёс на шаблон, подцепился к хукам где надо и написал несложный код), то с 8-9 у меня уже гораздо труднее. Например, в 7 всё было прямо в .tpl.php, "на виду", так сказать. Сейчас шаблонизатор отделён от логики - это, бесспорно, даёт упорядоченности, но у меня часто бывают сложности в банальных задачах типа «создать у материала поле "фотографии" и вывести их на странице в виде слайдера». Также теряюсь, когда встаёт необходимость решить какую-то задачу через написание модуля.  

  

Из имеющихся знаний:  

- html / css / js / jquery  

- немного работал с git  

- есть опыт работы с php, но с ООП сталкивался крайне мало (даже не имею представления как работать с ООП-кодом, какими инструментами и IDE пользоваться)  

- мало знаком с composer и drush (на уровне "выполнить нагугленные команды")  

- ещё меньше знаком с twig; не знаю, как принципиально устроен процесс вывода контента (от базы до формирования конечного html)  

  

Что гуглить, что изучать; вроде нужно сначала подтянуть какую-то "базу", но может это стоит изучать "в процессе", на практике? 

 Не смогу оценить насколько эта серия подойдёт именно вам (не исключаю, что вы уже знаете больше), но как минимум, может пригодиться тем, кто заглянет в этот вопрос впоследствии:   

<https://niklan.net/blog/190> 

 Вы уже сами ответили на Ваш вопрос, нужно поднянуть базу.  

* Начните с изучение ООП в целом и как оно работает в PHP в частности.
* Разберитесь как работает twig и composer
* Изучите документацию Drupal
* Разберитесь что такое DI, сервисы, плагины, как создавать кастомные формы, управлять конфигами и т.д.
* посмотрите как работают модули в ядре, и примеры для разработчиков <https://www.drupal.org/project/examples>