Рейтинг:0

Сделайте что-нибудь, когда контент будет сохранен

флаг lc

Я новичок в кодировании модулей и пытаюсь адаптировать простой модуль D7, который обновляет поле из типа контента из внешнего API при создании или изменении контента.

При новой установке D9 я создал модуль с именем: edu_module

Создал папку /custom/edu_module в каталоге модуля

Создал edu_module.info.yml

Активировал модуль => ОК

и, наконец, создал edu_module.module файл с этим кодом:

используйте Drupal\Core\Entity\EntityInterface;

function edu_module_entity_update(Drupal\Core\Entity\EntityInterface $entity) {
  \Drupal::logger('edu_module')->alert('страница обновлена ​​мной');
  \Drupal::messenger()->addMessage('Страница была обновлена ​​мной: ' . $entity->title->value);
}

И ничего не происходит. Я пробовал два разных способа получения информации (регистратор и мессенджер), но безрезультатно. Я думаю, что хук, вероятно, не запущен, но почему бы и нет? Кто-нибудь может помочь?

Спасибо за вашу помощь.

флаг cn
После добавления хука в модуль вам необходимо хотя бы один раз очистить кэш Drupal, чтобы хук начал работать.
smeys avatar
флаг lc
Спасибо, я чувствую себя немного глупо :) Я сделал несколько попыток и кэшировал то, что не было очищено на этом последнем.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.