Коллеги, вот странный случай с реализацией хука nodeapi. Задача - изменить ноду перед сохранением в базу (добавить в первый встретившийся в $node->body тег alt равный, скажем, названию материала). Пишу что-то вроде
function editimagetag_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL){
switch ($op) {
case 'presave':
/* ищем img, добавляем alt */
/* содержимое ноды как-то меняется */
$node->body = "Измененный html";
break;
}
}
Эффект такой: presave отрабатывает нормально, но когда после сохранения переходишь опять в режим редактирования, в поле body видишь текст введенный до сохранения ноды - а за ним сразу отредактированный скриптом. В базе же все нормально, на странице тоже. Вроде 'prepare' в окрестных модулях нигде не обрабатывается.
Кстати, перед этим делал через triggered rules - та же история.