Постпрцессор сохранения ноды
19 апреля 2018 в 23:45
Есть hook_node_insert() и hook_node_update().
В обоих написано, как я понял, что они юзаются до того как поля сохраняются в бд, а мне надо именно после сохранения ноды(создания файлов, записи в бд).
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Они выполняются после сохранения полей в базу данных и создания ноды.
Почему-то у меня зависает, когда что-то добавляю, а при drupal_message сразу ошибка, притом в логах ничего нет.
<?phpfunction global_save_product_node_update($node) {
global $user;
if (
in_array('test', $user->roles)
)
{
//drupal_message( $node->nid );
$nodeX = node_load(13440);
$nodeX->title = '9999';
node_save($nodeX);
}
}?>
Дело в том что node_update как раз вызывается из node_save у Вас получается рекурсия, если Вы хотите поменять тайтл сделайте это на https://api.drupal.org/api/drupal/modules%21node%21node.api.php/function...
P.S. $node уже объект полный поэтому node_load делать не надо кроме того он загрузится у Вас из cache.
Да, совершенно верно. Если сохранять какие-то ноды в таких хуках, то обязательно нужно ставить условие, чтобы не попасть в рекурсию.
Потому что drupal_set_message: https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drup...