Computed Field "заводится" только со второго раза
Прислано: Sergey1
вт, 19/02/2008 - 16:20
Сделал Computed Field, которое компилирует в ссылку несколько параметров, указываемых в других полях CCK ноды. Все отлично работает, кроме одного параметра - $node->path. Он почему-то прописывается в моем Computed только со второго раза, при повторном сохранении ноды. Так и должно быть? Видимо, $node->path формируется только после нажатия на Submit, да? А можно ли как-нибудь обойти это? Например, обсчитывать Computed динамически, не обращаясь к базе?
Вот мой код текущий код:
Computed Code:
if (!$node->nid) node_save($node); $node_field[0]['value']="<a href=\"/".$node->path."\"> <img src=\"".$node->field_teaser_image_url[0]['value']."\" alt=\"".t($node->title)."\"/></a>";
Display Format:
$display = $node_field_item['value'];
Поле хранится в базе как varchar длиной 1024
- Sergey1's blog
- Для комментирования войдите или зарегистрируйтесь
В принципе решил - просто снес галку "хранить в базе". Все динамически пересчитывается, для небольшого проекта нагрузка не критична
- Для комментирования войдите или зарегистрируйтесь
А работает нормально?
У меня почему-то если в базу не сохраняешь - то вычисленное значение не выводится :(
- Для комментирования войдите или зарегистрируйтесь
Потом опять включил хранение в базе - что-то загадочное с этим Computed, надо пересохранять надо, чтобы оно пересчиталось
- Для комментирования войдите или зарегистрируйтесь



Комментарии