Я пытаюсь показать обновленные результаты для вычисляемого поля CCK.
Вычисления основаны на полях в другом узле, поэтому они не обновляются автоматически.
Итак: я звоню node_save($node)
в hook_view
, что делает корректировку, но результаты не отображаются, пока я не обновлю страницу.
Есть ли способ автоматически обновить страницу, или я должен подходить к этому под другим углом?
Редактировать: В ответ на вопросы Хенрика, вот более подробно:
hook_view
и его node_save
находятся ниже, остальная часть кода находится в вычисляемом поле в типе содержимого проекта, суммируя значения из другого узла. Без node_save
мне нужно отредактировать и сохранить узел 'project', чтобы получить результат. С этим мне просто нужно обновить страницу.
Добавление drupal_goto(drupal_get_destination())
в hook_view
дает «страницу не найдена», а не порочный круг, который я ожидал. Есть ли другое место, где я мог бы это поставить?
function mymodule_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
switch ($op) {
case 'view':
if($node->type == 'project') {
project_view($node);
break;
}
}
}
function project_view($node) {
node_save($node);
return $node;
}