Модуль для вставки рекламного блока в середину статьи в 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.

Мультиязычность в drupal 8 работает "из коробки". Необходимо только включить(уже имеющиеся) модули - Configuration Translation и Content Translation. Для пущей красоты желательно скачать модуль Language Icons.

Настройка.

1. Добавляем нужный дополнительный язык.(https://www.allla.ru/admin/config/regional/language).

Добавление стиля изображения(в том числе через Ckeditor).

Добавление стиля к изображению довольно простая задача(если не учитывать добавление стиля к изображению вставленному непосредственно в текст через WYSIWYG-редактор). Буду показывать на примере добавления водяных знаков к изображению.

Для добавления водяных знаков нам понадобится модуль Image effects.

 

Модуль Redirect.

При использовании модуля Pathauto для автоматического создания синонимов url, крайне рекомендуется также устанавливать модуль Redirect. Модуль Redirect автоматически будет переадресовывать со страниц типа /node/sombody-number на синоним созданный с помощью Pathauto. Настраивать при этом модуль Redirect не требуется, только установить.

Adsense. Drupal 8.

После проверки сайта в Google AdSense встала задача размещения рекламных блоков в коде страниц.

Есть два способа:

  • Использовать модуль Adsense.
  • Использовать внутренние инструменты drupal( стандартные блоки).

 

С использование модуля Adsense.

Устанавливаем модуль. Дополнения(подмодули) в большинстве случаев устанавливать не требуется.