Модуль для вставки рекламного блока в середину статьи в Drupal 8.

Представляю простенький модуль для вставки рекламного блока в середину(примерно в середину) статьи для Drupal 8. Модуль находится в начальной стадии разработки, поэтому пока нет настроек видимости блока для разных ролей пользователей. Также пока нет выбора материалов в которые будет вставлен рекламный модуль. На данной степени готовности модуля показ вставленного блока будет осуществлен для всех пользователей, кроме администраторов. Показ рекламы также будет производится для всех типов материалов(Article, Page, а также для любых пользовательских типов).

Создание собственного типа поля(логического) в самописном модуле для Drupal 8.

Создание собственных типов полей довольно широко описано в примерах в сети. Вот, например, ссылка на сайт друпала, где описывается создание пользовательского типа поля, из собственного модуля. Здесь я приведу пример создания логического типа поля и создание поля на основе этого типа. Ниже описаны три файла(местами в них встречается лишняя информация, не обращайте внимания): FieldType, FieldFormatter и FieldWidget.

Вставка блока(например, AdSense) в статью. Drupal 8.

Есть много способов осуществить вставку блока в любое место статьи(или страницы). Такой трюк может понадобиться, например, при добавлении рекламного блока AdSense в содержимое статьи. Наиболее простым способом сделать это для меня стал модуль Insert Block. Далее я опишу его настройку и патчинг(да, без патчинга для drupal 8 работать не будет). И затем, еще некоторые способы осуществить вставку рекламного блока в содержимое статьи.

Простейший патчинг модуля Drupal.

Зачастую появляется необходимость пропатчить модуль( или какой-нибудь другой компонент Drupal). Приведу здесь простейший пример.

Патчить будем с помощью утилиты git. Установка git :

apt install git

Теперь кладем скаченный патч(patch-name.patch) в папку модуля и выполняем команду:

git apply patch-name.patch

 

SMTP. Drupal 8.

Доставка писем у меня изначально(после установки) не работала, ни через модуль contact, ни письма сгенерированные при регистрации. В чем причина я так и не выянил( и должна ли работать такая конфигурация из коробки, без дополнительной настройки?).

Теперь я использую модуль smtp. Сам модуль я привязал к гугл почте  ***@gmail.com . Следует также учесть, что невозможно авторизоваться с помощью модуля smtp, если в аккаунте включена двухфакторная авторизация.

Ошибка при обновлении ядра Drupal до версии 8.3.0 .

При обновлении ядра друпал до версии 8.3.0 в некоторых случаях возникает ошибка с подобными характеристиками, ошибка возникает не в процессе обновления, а при попытке обновить базы данных.

Например, сообщение будет выглядеть так при обновлении баз через drush:

PHP Fatal error:  Class Drupal\rules\Ui\RulesUiDefinition contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods

Или такими, при попытке обновления баз данных через update.php :

Теги

Обновление минорной версии ядра с помощью Composer.

(Сначала сделайте Backup!!), хотя бы сохраните файл .htaccess.

Вышла новая версия ядра Drupal 8.3.0 и настала пора обновления. Производить обновление буду с помощью Comoposer. В моем случае обновление происходит с версии ядра 8.2.7 на версию 8.3.0 .

1.Случай.

Если проект изначально создан с его помощью(команда create-project), то обновление элементарно осуществляется командой:

Теги

Ошибка в темах zymphonies

Темы Zymphonies  для Drupal радуют отличным внешним видом(большое спасибо разработчикам). Но вот со стабильностью зачастую возникают проблемы.

Итак, во встроенном слайдере тем zymphonies возникает ошибка,. которая приводит к падению сайта. Также такая ошибка была выявлена в Advanced Theme Zymphonies и Parallax Zymphonies Theme.

Теги