Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

hook_form_alter und das bearbeiten von select-fields

Eingetragen von mrfloppy123 (17)
am 18.04.2012 - 20:01 Uhr in
  • Modul-Entwicklung

Hallo

Ich habe einen Contenttype 'X' der ein Field in Form eines Select-fields Referenzen auf einen zweiten Cnntenttype 'Y' enthält.
Um das node/add Fromular des Contenttypes 'X' zu bearbeiten habe ich ein Modul erstellt und diverse Änderungen via 'hook_form_alter' vorgenommen.
Nun wollte ich bei dem oben genannten Select-field den Text des Standardwertes 'Select a Value' ändern (den Text, Nicht den default-value).

Versuche wie

$form['besagtes_field']['und']['#multiple']['#options']['_none']' ='was auch immer'

scheiterten kläglich. Irgendwie blicke ich da grad nicht mehr durch. Ebenfalls wollte ich an das besagte Field noch eine Option hinzufügen, zudem es keinen entsprechenden Inhalt vom Contenttyp 'Y' gibt (klingt unlogisch, ist hier aber nötig). Wie kann ich diese beiden Manipulationen effektiv durchziehen?

Gibt es eventuell einen hook um das field generell zu bearbeiten, also nicht über 'hook_form_alter'?

‹ [gelöst] hook_menu wird nicht aufgerufen Plupload ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hook_form_alter ist schon

Eingetragen von wla (9466)
am 18.04.2012 - 21:57 Uhr

Hook_form_alter ist schon richtig. Laß Dir mal den Form-Array ausgeben, darin solltest Du den Text finden. Außerden sind alle Select-Values ebenfalls dort abgelegt und Du müßtest den entsprechenden Teil-Array um Deinen Wert erweitern.
Was ich jetzt nicht weiß, ist, ob die Werte direkt zu finden sind oder noch nicht erscheinen. Dann mußt Du mittels $form['#after_build'][] = 'meine_afterbuild-funktion'; eine eigene Funktion definieren, die direkt vor der Anzeige des Formulars noch ausgeführt wird. Darin sollten dann alle Form-Elemente greifbar sein.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

hi floppy Zitat: Gibt es

Eingetragen von 1kubik (903)
am 18.04.2012 - 21:58 Uhr

hi floppy

Zitat:

Gibt es eventuell einen hook um das field generell zu bearbeiten, also nicht über 'hook_form_alter'?

dafür ist ja hook_form_alter da

Zitat:

Versuche wie

$form['besagtes_field']['und']['#multiple']['#options']['_none']' ='was auch immer'

scheiterten kläglich.

so müsste es funktionieren:
['#default_value'] = 'was auch immer'
http://drupal.stackexchange.com/questions/8171/set-select-list-default-v...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mhh..läuft nich ganz:mit

Eingetragen von mrfloppy123 (17)
am 23.04.2012 - 16:35 Uhr

Mhh..läuft nich ganz:
mit

['#default_value'] = 'was auch immer'

kann ich nur den key der Option übergeben, welche standardmäßig in dem Select-field ausgewählt sein soll.

Die after_build funktion war der richtige Weg, also folgende Vorgehensweise:
in der "hook_form_alter"-Funktion:

$form['besagtes_field']['und']['#after_build'][] = 'alter_besagtes_field';

und nun die Funktion

function alter_besagtes_field($form, &$form_state){
$form['#options']['_none'] = 'Bitte waehlen';//Ersetze den Text "- Select a value -"
$form['#options']['0']='neue Option';//Füge eine neue Option mit dem Key 0 hinzu
return $form;
}

Was mich jetzt gerade beschäftigt ist, dass ich mit dieser Methode,die den Text "- Select a value -" ersetzen soll keine Umlaute benutzen kann...
Schreibe ich ein 'ä' wird der komplette Text auf der Seite ausgeblendet. Schreibe ich anstatt dessen das korrekte ä , wird eben dies auf der Website ausgegeben und nich das 'ä'. Ideen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Welchen Editor benutzt

Eingetragen von JThan (396)
am 23.04.2012 - 17:03 Uhr

Welchen Editor benutzt du?

Hast du als Zeichensatz "utf8" eingestellt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutze Notepad++ Arbeite in

Eingetragen von mrfloppy123 (17)
am 24.04.2012 - 15:17 Uhr

Benutze Notepad++

Arbeite in UTF8, hatte sich aber gezeigt, dass Notepad++ in den *.module-Dateien auf ANSI umspringt...
Habs geändert, Problem behoben.

Danke

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 4 Wochen 6 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 2 Tagen
  • Composer ist sehr ratsam
    vor 5 Wochen 4 Tagen
  • Vielen Dank für den
    vor 5 Wochen 6 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 36 Minuten
  • Gut gemacht
    vor 6 Wochen 53 Minuten
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 1 Stunde
  • Links
    vor 6 Wochen 2 Tagen
  • Moin,wow, sehr gutes
    vor 6 Wochen 3 Tagen
  • Dass ist eine spannende
    vor 6 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association