Como usar a função dsm () Devel para imprimir a matriz $ form do meu formulário?

8

Eu quero usar a dsm()função do módulo Devel para imprimir a $formmatriz de um formulário, onde form_idestá search_theme_form. Como fazer isso?

sokratis
fonte

Respostas:

12

Inicie um módulo personalizado, insira este código:

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

Além disso, convém usar o dpm () sobre o dsm (), pois o último é uma função herdada.

Bart
fonte
11
@sokratis você também pode baixar o meu módulo simples para formas desenvolvendo - acrescenta o dpm($form_state)mesmo depois de submeter
mojzis
isso ainda é preciso?
Jeff
3
function THEME_form_search_theme_form_alter (&$form, &$form_state){

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

}

Substitua THEME pelo nome do tema e coloque-o no template.php, se você quiser fazer isso em um módulo, substitua THEME pelo nome do módulo e coloque essa função no arquivo .module

silkAdmin
fonte
2

Use drupal_retrieve_form para obter a matriz de formulários estruturados:

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