drupal 8

Drupal 8: Программное удаление и изменение мета-тегов

По мотивам вопроса http://dru.io/question/4777 ("Как переопределить META теги в head для Drupal 8?"), в котором автор вопроса решал задачу удаления ненужных ему мета-тегов в Drupal 8, решил написать этот небольшой сниппет. В Drupal 7 такая задача решалась в hook_html_head_alter(), которого в Drupal 8 уже нету.

Выполнение действий после первого входа пользователя

Для того, чтобы выполнить какие-либо действия после авторизации пользователя, можно воспользоваться хуком hook_user_login(). Этот хук будет вызываться после каждого входа пользователя. Но если нужно, чтобы действия выполнялись только один раз после первого входа пользователя сразу после того, как он зарегистрировался, то можно использовать свойство объекта пользователя access ($user->access). В это свойство записывается время предыдущей "активности" пользователя. И, если пользователь залогинился первый раз, то это свойство будет равным нулю.

Вывод формы в модальном окне (Dialog | jQuery UI) в Drupal 8

Создадим простенькую форму в Drupal 8 и затем будем выводить ее в модальном окне.
Форма будет выводиться по клику на ссылке, которая будет располагаться на созданной программно странице с урлом /custom-page.

Обновление формы с помощью AJAX button в Drupal 8

Для обновления всей формы в Drupal 8 нужно:

  • Описать класс , расширяющий базовый класс FormBase для создания форм .
  • В методе getFormId() нужно вернуть id формы , в методе buildForm() описать саму форму создаваемую.
  • В параметре #ajax для кнопки указать имя callback функции , которая является публичным методом описанным в этом же классе .
  • В callback методе вернуть форму.