Рассмотрим технику того, как выполнить 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 8, 2016 г.
Можно использовать анализ адреса хранимый Drupal в $_GET['q'] и/или анализ частей адреса, получаемых функцией arg(N).
Оба варианта по сути делают одно и тоже - анализ внутреннего адреса, который для публикации имеет вид: node/%NID%.
Я использую функцию ...
Читать
Апрель 10, 2021 г.
Стандартный шаблон страницы термина таксономии taxonomy-term.tpl.php не позволяет управлять выводом публикаций, он лишь служит как обертка для полей термина.
Единственная настройка CMS, которая влияет на вывод списка - это переменная default_nodes_main, ...
Читать
Январь 31, 2019 г.
Модуль field_collection всю свою историю существования (аж 2010 года) проходит в статусе beta версии. Тем не менее многие разработчики используют его в своих проектах. На текущий момент это версия 7.x-1.0-beta13.
Хотя FC - это ещё один entity, ...
Читать
Май 14, 2019 г.
Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования.
Пример логики использования/создания элемента кеша
[crayon-696716d3d57e9490307806/]
Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). ...
Читать