Drupal

Статьи, записки и заметки по теме Drupal

Работа с CKEditor в JavaScript, Drupal

mbaev 19.09.2018, 11:14

Иногда программисты сталкиваются с необходимостью создать инстанцию CKEditor редактора на фронте. Например, если этот редактор должен появляться по нажатию на кнопку. Обычно это делается через получение формы с сервера:

Изменение кодировки таблиц. Решение для кодеров

mbaev 08.12.2017, 13:07

После установки Drupal версии 7, на странице статуса можно встретить надпись
image

Database 4 byte UTF-8 support
Enabled, but database tables need conversion
Please convert all database tables to utf8mb4 prior to enabling it in settings.php. See the documentation on adding 4 byte UTF-8 support for more information.

Здесь, как известно, речь идёт о том, что неплохо было бы вам сменить кодировку своей базы таким образом, чтобы она могла корректно сохранять эмоджи, китайские иероглифы, математические и другие спец. символы.

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

Broken/missing handler

mbaev 13.06.2017, 15:22

Если вы создали field/sort/filter/area или что-то еще для views в своём модуле blablabla и видите надпись:

Broken/missing handler

То одной из возможных причин может быть отсутствие строки подключения вашего класса в blablabla.info

  1. files[] = includes/views/handlers/blablabla_handler_my_handler.inc

 

Агрегация drush-алиасов

mbaev 17.05.2017, 15:55

drushКто-то уже перешел на Drupal console , а я по-старинке использую Drush и Drush-алиасы , которые очень полезны при работе с несколькими окружениями.

Описание drush-алиасов, достойно отдельной темы, но если коротко, то основная функция алиасов - проксирование команд.
Проще говоря, если у Вас есть сайт "рога-копыта.рф" (например, алиас: rk) с четырьмя окружениями local, dev, test и prod, то вы можете создать алиасы, чтобы очистка кэша на всех окружениях не было болью, а выполнялась в четыре команды...

Длина Друпала в попугаях

mbaev 25.11.2016, 20:13
Это пост, в котором не будет описания установки модуля, программного создания ноды или того, как избавиться от ошибок. Только попугаи!
 
 
 
 
 

Как создать свой дисплей для ноды

mbaev 15.11.2016, 09:15

Иногда, нам не хватает стандартных дисплеев и необходимо создать свои. Дополнительный дисплей позволяет показывать еще один набор полей с настройками, отличными от других дисплеев.

Например, в дисплее Full мы можем отображать все поля, в дисплее Teaser - обрезанное поле Body, а в кастомном только поля, созданные нами.

По умолчанию Друпал имеет три дисплея:

  • Full content (full)
  • Teaser (teaser)
  • RSS (rss)

Модуль Token предоставляет дисплей Tokens (token).

Способ первый создание дисплея под контролем модуля node

Для создания нового дисплея нужно выполнить несколько шагов:

Drupal ajax страницы без перезагрузки

mbaev 14.11.2016, 16:19

Это всего лишь мокап, который я накидал за 20 минут "на коленке" и он требует доработки, но уже сейчас этот js-скрипт позволит простым сайтам работать без перезагрузки страниц.

Для примера, можно сёрфить по нодам в блоге или переходить из редактирования ноды в режим просмотра ноды. В большей степени, продолжают корректно работать ajax-ссылки, созданные, например, с помощью views.

Отладка темы в Друпале

mbaev 28.10.2016, 22:22

Для того, чтобы увидеть отладочную информацию Друпала, достаточно установить переменную theme_debug в TRUE. Способа включить отображение этой информации через интерфейс- нет, но можно с помощью Drush.

  1. drush vset theme_debug --format=boolean 1

Если нет возможности использовать Drush, то всегда можно залезть через базу. Друпал хранит переменные в таблице variable. Изначально, записи о переменной theme_debug там нет, но мы можем добавить.

  1. INSERT INTO variable (name, VALUE) VALUES ('theme_debug', 'b:1;');

А если уже добавляли, то можно изменить.

Drupal htaccess

mbaev 19.10.2016, 16:36

В блогах и обзорах, почему-то, редко упоминается очень важный файл .htaccess. А тем временем он уже хранит в себе важную функциональность, которая доступна новичкам с самого начала работы с Друпал.
Итак, кроме всего прочего, этот файл предоставляет возможность перенаправлять пользователя внутри себя по определенным правилам. Важная эта функциональность потому, что по умолчанию сайт доступен и по адресу www.example.com и по адресу example.com. С точки зрения поисковиков - это разные сайты, а значит один из них зеркало. Если об этом не сообщить поисковикам, то это плохо скажется на репутации вашего сайта.
 

Отключение кэширования twig в Drupal 8

mbaev 16.10.2016, 13:58

cant-create-theme-in-drupal-8.jpg

По умолчанию, в Drupal 8 включено кэширование Twig шаблонов. Это создает определенные трудности при разработке тем: каждое изменение требует сбрасывания кэша, что рано или поздно приводит разработчиков в бешенство)

Конечно же, о нас уже позаботились и придумали механизмы упрощения разработки.

Мат в три хода

Для того, чтобы выключить кэш нужно: