Изменение значения поля в форме Drupal - PullRequest
3 голосов
/ 12 октября 2010

Я создал функцию отправки хука для моей формы редактирования узла Drupal. Я хотел бы изменить значение поля CCK (не в форме) для этого конкретного узла в обработчике sumbit.

Я пытался установить поле как скрытое и применить к нему значение, но это не сработало.

Может ли кто-нибудь предложить способ сделать это?

Спасибо

Jonathan

Ответы [ 3 ]

2 голосов
/ 12 октября 2010

Я думаю, что вы, вероятно, слишком усложняете вещи. Если все, что вы хотите сделать, это изменить значение поля CCK при сохранении узла (возможно, на основании определенных условий), то вам, вероятно, лучше использовать модуль Rules (http://drupal.org/project/rules). В модуле «Правила» есть много видео и ресурсов в Интернете.

Также, если вы хотите скрыть определенное поле CCK, вы можете использовать модуль Content Permissions, который связан с модулем CCK. Вы можете отказать пользователю в праве на редактирование в поле CCK, но предоставить доступ к представлению.

1 голос
/ 13 октября 2010

Вместо добавления функции отправки для редактирования, почему бы вам не использовать hook_nodeapi и не выполнять свою логику, когда $ op = 'presave'? Таким образом, вам не нужен тяжелый модуль, такой как правила, но вы все равно можете изменять значения при отправке узла.

РЕДАКТИРОВАТЬ: взгляните на hook_nodeapi ()

0 голосов
/ 13 октября 2010

используйте form_set_value(); функцию при проверке формы.

...