Вы здесь

Drupal

Мы работаем с Drupal уже очень давно. Начинали еще аж с 6 версии.

За это время сделали кучу сайтов для себя. И просто огромное количество сайтов для наших клиентов.

В процессе обучения Друпалу и работы с ним сталкивались с различными интересными и нетривиальными задачами и моментами. О них и будем писать посты в данном разделе.

А также поделимся опытом полученным за годы работы с CMS Drupal

Drupal 8: Как получить ноду из ссылки в ajax-запросе? (и не только)

Возникла такая проблема, когда убирал некоторые элементы на форме фильтрации для views. Форма работает через ajax и при загрузке страницы можно получить объект ноды из пути:

Drupal 8: Как добавить overlay к better messages

Создать файл better_messages.js и подключить его в своей теме. В dependencies библиотеки указать "- better_messages/better_messages".  Дальше переопределяем поведение скрипта при открытии и закрытии:

Drupal 8: письма попадают в спам в Gmail и Mail.ru

Оказалось, что письма, которые идут с сайта psiho.games попадают в спам. Чтобы разобраться, что именно происходит нужно сходить на http://www.mail-tester.com и отправить на емайл тестовое письмо. Доступна отправка 3-х писем в день.

Шлём письмо из "/devel/php"(если установлен модуль devel):

Drupal 8: ошибка при отключении модуля - поля ожидающие удаления

Возникла проблема в удалении полей при попытке отключить модуль. При запуске cron возникала ошибка, поэтому поля не удалялись. Но можно было бы запустить несколько раз или задать настройку для cron:

Drupal 7: Добавить ссылки предыдущий / следующий к ноде

Картинка новости

Для перехода на следующую ноду добавляются ссылки предыдущая, следующая. Например, это актуально в новостях, да и для SEO полезно.

Как убрать символ &#65279

Кучу времени потратил на убирание этого символа. А разгадка - проста. Необходимо было сохранить файл в формате UTF-8(without BOM).

 

Работа с очередями (queue api) в drupal 7

Интересный пример работы с очередями нашёл на dru.io, сохраняю сюда, чтобы не потерять.

Пример создания и разбора очереди (с помощью https://www.drupal.org/project/ultimate_cron)

Вес файла со стилями при подключении его через drupal_add_css()

Для этого сайта с помощью панелей делали странички, презентующие нашу деятельность. Эти страницы должны создаваться с помощью модуля панелей и будут иметь свой дизайн. Есть общие стили, но есть и те, что будут отличаться. Общие стили будут храниться в файле style.css, а отличающиеся в отдельных файлах, каждый из которых будет подключаться к странице с помощью drupal_add_css().

Страницы