2009-04-21 4 views
0

Ich bin ein drupal Anfänger (aber mit PHP Erfahrung). Ich habe einige Funktionen erstellt, um Seiten anzuzeigen und mithilfe von Menüfunktionen URLs zuzuordnen.Drupal 6: Ändern eines CCK-Formulars auf einer durch das Menüsystem erstellten Seite

In einer dieser Funktionen möchte ich ein Formular für einen CCK-Inhaltstyp greifen, habe meinen Weg damit und spucke es auf eine Vorlage aus.

So habe ich eine Funktion projectadmin_create_page(), die einen Verweis auf das Formular greift mit:

$ form = drupal_get_form ('project_node_form'). Hier möchte ich es ändern (oder ein neues Formular basierend darauf erstellen) und es an die Vorlage senden. Als ersten Schritt übergebe ich es direkt an die Vorlage. Hier wird das Formular-Tag zusammen mit allen versteckten Feldern ausgegeben, aber keines der Feld-Tags.

Meine Hoffnung war, dass ich nicht alle Validierung für das CCK-Formular neu schreiben müsste, aber immer noch eine benutzerdefinierte Seite bekommen.

Kann jemand Anleitung geben?

+0

Ok, ich kann die Form Array erhalten die Technik hier mit: http://thedrupalblog.com/load-cck-node-form -object-using-drupal-retrieve-form, aber wenn ich es an meine Vorlage übergeben und drupal_render_form aufrufen, sehe ich nur einige der Felder. –

Antwort

1

Sie können ändern jede Drupal Form mit hook_form_alter [1, 2]

+0

Aber ich versuche, ein CCK-Formular in Teile zu teilen. Wenn ich also project_form_alter() schreibe und einige Felder entferne, passiert das jedes Mal, wenn ich dieses Formular anzeigen will, oder? Ich möchte das Formular ergreifen, nehmen Sie die Hälfte davon, spucken Sie es auf einer Seite aus. Nimm die andere Hälfte und spuck es auf einer anderen Seite aus. –