Wie drucke ich mit der Funktion dsm () Devel das $ form-Array meines Formulars?

8

Ich möchte die dsm()Funktion des Devel-Moduls verwenden, um das $formArray eines Formulars zu drucken , in dem sich das form_idbefindet search_theme_form. Wie geht das?

Sokratis
quelle

Antworten:

11

Starten Sie ein benutzerdefiniertes Modul und geben Sie diesen Code ein:

/**
* Implements hook_form_alter().
*/
function foo_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'search_theme_form') {
    dpm($form);
  }
}

Möglicherweise möchten Sie auch dpm () über dsm () verwenden, da letzteres eine Legacy-Funktion ist.

Bart
quelle
1
@sokratis Sie können auch mein einfaches Modul für die Entwicklung von Formularen herunterladen - es fügt die dpm($form_state)sogar nach dem Absenden hinzu
Mojzis
ist das noch richtig?
Jeff
3
function THEME_form_search_theme_form_alter (&$form, &$form_state){

krumo ($form); // you can use DSM as well here

}

Ersetzen Sie THEMA durch Ihren Themennamen und fügen Sie diesen in Ihre template.php ein. Wenn Sie dies von einem Modul aus tun möchten, ersetzen Sie THEMA durch Ihren Modulnamen und fügen Sie diese Funktion in Ihre .module-Datei ein

SilidAdmin
quelle
2

Verwenden Sie drupal_retrieve_form , um das strukturierte Formulararray abzurufen :

$form_state = array();
dsm(drupal_retrieve_form('search_theme_form', &$form_state));
Oswald
quelle