2009-04-21 1 views
0

Я новичок в drupal (но опытный с PHP). Я создал некоторые функции для отображения страниц и сопоставил их с URL-адресами, используя функции меню.Drupal 6: Изменение формы CCK на странице, созданной системой меню

В одной из этих функций я хотел бы получить форму для типа содержимого CCK, иметь свой путь с ним и выплюнуть его на шаблон.

Поэтому у меня есть функция projectadmin_create_page(), которая захватывает ссылку на форму с помощью:

$ формы = drupal_get_form ('project_node_form'). Здесь я хотел бы изменить его (или создать новую форму на основе этого) и отправить его в шаблон. В качестве первого шага я передаю его прямо к шаблону. Здесь тег формы вместе со всеми скрытыми полями выводится, но ни один из тегов полей.

Моя надежда состояла в том, что мне не пришлось бы переписывать всю валидацию для формы CCK, но все равно получить пользовательскую страницу.

Может ли кто-нибудь дать некоторые рекомендации?

+0

Хорошо, я могу получить массив формы, используя технику здесь: http://thedrupalblog.com/load-cck-node-form -объект-using-drupal-retrieve-form, но когда я передаю его в свой шаблон и вызываю drupal_render_form, я вижу только некоторые поля. – 2009-04-21 18:50:50

ответ

1

вы можете изменить любой Drupal формы с hook_form_alter [1, 2]

+0

Но я пытаюсь разбить форму CCK на части. Поэтому, если я пишу project_form_alter() и удаляю кучу полей, это произойдет каждый раз, когда я хочу отобразить эту форму, не так ли? Я хочу захватить форму, взять половину ее, выплюнуть ее на одной странице. Возьмите вторую половину и выплюнете ее на другой странице. – 2009-04-21 16:35:44