Рассмотрим технику того, как выполнить node_save во время hook_node_insert.
Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции — не получится. Т.е. следующий код работать не будет:
|
|
/** * Implements hook_node_insert. */ function MYMODULE_node_insert($node) { ... node_save($node); } |
Но можно подготовить собственную run-time зацепку на завершение работы кода друпала и выполнить нужные нам операции. Выглядит это следующим образом:
|
|
/** * Implements hook_node_insert. */ function MYMODULE_node_insert($node) { // Запускаем нужный код уже после того как нода вставлена drupal_register_shutdown_function('_MYMODULE_shutdown', $node); } function _MYMODULE_shutdown($node) { ... node_save($node); } |
Drupal 7
Данная запись опубликована в 13.04.2021 14:52 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 6, 2019 г.
С помощью drush и такой то матери (bash) обойдем все сайты и создадим одного и того же юзера на каждом из сайтов.
Долго тянуть не стану - вот текст скрипта:
[crayon-695bc9da717ef625744829/]
В начале вы задаёте нужные переменные (задайте свои ...
Читать
Март 2, 2017 г.
Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами.
Первый вариант почти всегда выглядит неказисто, ...
Читать
Декабрь 7, 2017 г.
Один раз начав работать с EntityFieldQuery, вы уже не захотите городить SQL запросы с джойнами таблиц полей сущностей. Что то сложное, возможно, сделать будет слишком трудно на этом конструкторе, но типовые выборки данных делать приятно, быстро и удобно. ...
Читать
Май 31, 2019 г.
С комментариями в Drupal во все времена было на мой взгляд - всё сложно. В 7ке сущность стала частью конструктора, стало веселее, но общий шаблон комментариев так и остался "костью в горле" у многих программистов.
В настройках типа публикации вы ...
Читать