Установка Drupal+Composer на Виртуальном хостинге
Что рассмотрим:
Лирическое отступление – почему и зачем.
Как установить composer+ Drupal на локальный OpenServer
Предпочтительный Ssh клиент, настройка алиасов и быстрых команд.
Установка composer+ Drupal на хостинг и нюансики
Темизация блока в зависимости от региона в котором он находится
Чем больше я развлекаюсь с Друпалом, тем чаще убеждаюсь, что в "работе из коробки" в этом движке работает только коробка. Шаг в лево или право требует допила, а, казалось бы, логичные хотелки - начертания пентаграммы и вызова демонов. Но тут, видимо, как в случае с ежиками, кактусами и девушками - бесит, но жутко интересно.
В адаптации легкой темы на Bootstrap 5 возникла задача изменить отображение формы поиска в определенном регионе - там и только там. Input формы должен был растягиваться на ширину страницы. Основная тема Bootstrap Barrio сделать это, не прибегая к насилию, не позволила.
Модуль режима отладки Twig для Drupal 8 | 9
Про программный способ включить отладку twig в шаблоне не написал пожалуй только ленивый Drupal разработчик. Но порой такие манипуляции с файлами движка верстальщикам бывают недоступны. Или же вы, также как и я, постоянно забываете где и что правили и куда это записали. Нам поможет модуль Twig Debugger.
Как убрать Admin Toolbar со стороны frontend'а в drupal 9
При адаптации шаблона или при верстке с нуля админский тулбар весьма неудобная надстройка, не смотря на то что,
может убираться из шапки в сайдбар. Ответсвенные друпалеры могут возразить, что мол де верстать нужно сразу с учетом тулбара.
Но мне для личного проекта с клиентсой стороны он только мешает и режет глаз.
Правим ошибки при установке Drupal 8 или Drupal 9
Если при установке Drupal 8 или Drupal 9 на OpenServer движок пишет что-то типа
Error: Call to a member function setRecipients() on null in standard_form_install_configure_submit() (line 25 of core\profiles\standard\standard.profile).
или периодически вываливается вот такое:
значит пора использовать руки, которые нам даны не для скуки
trusted_host_patterns
Шаблон для доверенных доменов
$settings['trusted_host_patterns'] = array(
'^site\.ru$',
'^.+\.site\.ru$'
);
чистим кэш, пускаем крон
Ошибка Warning: file_put_contents
От редактора новостей одного сайта поступила жалоба: пропал визуальный редактор.
Как это обычно бывает в Друпал, проблема конечно была глубже. В админке на 10 минуте проверки всех функций всплыла такая ошибка
Понятно что место выделенное под файлы хостером закончилось. Слава богам, удалось его временно отчистить за счет удаления старых бэкапов, которые создаются с помощью Backup and Migrate. Не забывайте сделать автоматическое удаление старых бэкапов. Я вот забыл (=
Вывод нод дочерних терминов в родительском
Признаюсь, на решение этой тривиальной задачи я потратил около суток. Гугл на различные околотематические запросы участливо делился со мной проблемами юных друпаллеров, но решать мою задачу отказывался категорически. Создалось впечатление, что кроме каталога товаров и прочих досок объявлений на Друпале не делают вообще ничего. А вот душка - Яндекс выдал таки результат шестой строчкой.
Итак, задача: на странице родительского термина вывести все материалы дочерних с учетом вложенности.

То есть, что бы нода, созданная в для термина --Подподтермин("Модули") отображалась также и при переходе в термин -Подтермин ("Drupal") и в Термин ("Web"). (конечно если мы используем эту иерархию в пути или крошках)
По умолчанию, "из коробки" Друпал 7 такое не умеет. Хотя в стандартный Views наша задача почти заложена. Нам понадобится немного отредактировать заложенное по дефолту представление "Taxonomy term". В контекстном фильтре нужно удалить фильтр "Содержимое: Имеет модификатор глубины терминов таксономии", а в Содержимое: Имеет идентификатор термина таксономии (с глубиной) изменить глубину на 2, поскольку она считается с нуля. Более ничего не меняем и сохраняем.
Что странно, создавая вьюху по образу и подобию дефолтной, мне не удалось добиться того же результата - либо не решалась задача, либо отваливались тэги материалов. На сколько данный способ адекватен судить не берусь. Уже счастлив, что работает так как хотелось.
За наводку благодарим http://webcoder.kz/
Выводим Description термина во Views
Если мы выводим термины с помощью Views, то новое представление "затирает" описания (как и всю страницу) терминов, которое мы так старательно придумывали и записывали в админке. На самом деле Вьюшка просто не знает, что это описание вообще существует, мало того, из коробки она даже не имеет шаблона терминов. Исправляем несправедливость.
Копируем из папки модуля Views файл views-view.tpl.php и переименовываем его в views-view--taxonomy-term--page.tpl.php Имя конечного файла зависит от имени подстановочного шаблона в самой вьюхе.
В нужном месте вставляем код:
<?php /** Добавляем Дескрипшн к термину*/?>
<?php if (!isset($_GET['page'])) {
$category = taxonomy_term_load(arg(2));
echo "{$category->description}";
} ?>
Сохраняем файл в теме нашего основного шаблона
В нужной нам вьюхе нажимаем "Пересканировать файлы шаблонов"
Токен иерархического пути для Pathauto
Токен создает путь типа термин\подтермин\подподтермин при условии, что в материале уже создано поле field_category привязанное к словарю с определенной вложенностью. Или иерархия значений выстроена внутри поля.
/[node:field-category:parents:join-path]/[node:field-category:name]/[node:title]
если поле имеет вид field_super_puper_category то токен будет иметь вид:
/[node:field-super-puper-category:parents:join-path]/[node:field-super-puper-category:name]/[node:title]
Если Pathauto ругается, токена такого нет, поставить Entity API