Formularfelder mit Werten vorbelegen

Manchmal ist es nötig unter Drupal, in den Formularen zur Inhaltserstellung, Felder vorab mit Werten zu füllen (z.B. eine vorab gewählte Kategorie, ein vordefinierter Titel, etc.).

Um dies zu ermöglichen kann man das Modul Prepopulate nutzen, dieses füllt aus der $_GET-Variable der URL die #default_value Einträge der Formularfelder aus.

Beispiele (Lesbare URL's aktiv):

Ausfüllen des Titel:
/node/add/story?edit[title]=Hier der Titel

Ausfüllen des Body:
/node/add/story?edit[body_filter][body]=Hier die Beschreibung

Natürlich können auch mehrere Felder pro URL vorbelegt werden, indem die Variablen einfach mit an die URL dran gehängt werden:

/node/add/story?edit[title]=Hier der Titel&edit[body_filter][body]=Hier die Beschreibung

Die Namen der zu nutzenden Variablen, ergeben sich bis auf das body-Feld aus dem Quelltext. Alle Formularelemente sind dabei Elemente in dem "edit"-Array, welches in der URL immer mit angegeben werden muss.
Bei Standardformularfeldern ist das Element das name-Attribut des Feldes.

Das Formularfeld des Titels name="title" wird in der URL also zu edit[title]

Bei selbst hinzugefügten Feldern (z.B. CCK) wird das name Attribut in das "edit"-Array verschachtelt.

Um Kategorien vorzubelegen ist zu unterscheiden ob das Vokabular als Liste oder als Free Tagging angelegt wurde.

Um einen Eintrag in eine Auswahlliste (select-Formularelement) vorzubelegen ist wieder der Name des Feldes erforderlich. Dieses sollte mit taxonomy beginnen und enthält auch die ID des Vokaulars. Für die Kategorien des Vokabulars mit der ID 1 würde zum Beispiel folgende URL funktionieren:

/node/add/story?edit[taxonomy][1]=53

Wobei dabei die 53 der ID der auszuwählenden Kategorie entspricht. Eine mehrfache Auswahl von Kategorien ist mit der aktuellen Version des Moduls noch nicht möglich.
Bei Free Tagging wird auch noch der Name des Vokabulars in der URL verlangt, z.B. bei dem Vokabular "Tags":

/node/add/story?edit[taxonomy][tags][2]=Schlagwort

Auf der Seite des Moduls unter http://drupal.org/project/prepopulate findet man noch weitere Optionen, das Modul ist sogar für alle aktuellen Drupal Versionen verfügbar.

Neuen Kommentar schreiben

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Textual smileys will be replaced with graphical ones.

More information about formatting options