2010-10-12 7 views
2

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

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

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

Спасибо,

Джонатан

+0

Вы говорите, что поле CCK не в форме? – Kevin

ответ

1

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

EDIT: Посмотрите на hook_nodeapi()

+0

Большое спасибо за это, так или иначе, чтобы отменить сохранение узла в определенный момент, если выполнены некоторые критерии? – Jonathan

+0

Выяснил это. Использовал hook_nodeapi с помощью op = 'presave', а также использовал op = 'validate', чтобы проверить критерии, а затем form_set_error(), чтобы отменить обработку формы. – Jonathan

2

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

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

+0

Я сделал что-то очень похожее с полями CCK Node Reference. Я также использовал разрешения на контент для ограничения доступа к редактированию (который скрывает поле из формы), а затем задает значение полей в коде. В этом вопросе может быть какая-то полезная информация ... http://stackoverflow.com/q/3764156/318158 – Chaulky

0

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

Смежные вопросы