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 в вт, 19/02/2008 - 16:40.

В принципе решил - просто снес галку "хранить в базе". Все динамически пересчитывается, для небольшого проекта нагрузка не критична


Опубликовано Dimm в ср, 20/02/2008 - 11:45.

А работает нормально?
У меня почему-то если в базу не сохраняешь - то вычисленное значение не выводится :(


Опубликовано Sergey1 в сб, 23/02/2008 - 16:40.

Потом опять включил хранение в базе - что-то загадочное с этим Computed, надо пересохранять надо, чтобы оно пересчиталось


Новое на сайте