¿Cómo utilizar la función dsm () Devel para imprimir la matriz $ form de mi formulario?

8

Quiero usar la dsm()función del módulo Devel para imprimir la $formmatriz de un formulario, donde form_idestá search_theme_form. ¿Como hacer eso?

sokratis
fuente

Respuestas:

12

Inicie un módulo personalizado, inserte este código:

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

Además, es posible que desee utilizar dpm () sobre dsm () ya que esta última es una función heredada.

Bart
fuente
1
@sokratis también puede descargar mi módulo simple para el desarrollo de formularios - agrega dpm($form_state)incluso después del envío
mojzis
¿Sigue siendo exacto?
Jeff
3
function THEME_form_search_theme_form_alter (&$form, &$form_state){

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

}

Reemplace THEME con el nombre de su tema y colóquelo en su template.php, si desea hacerlo desde un módulo, reemplace THEME por el nombre de su módulo y coloque esa función en su archivo .module

sedaadmin
fuente
2

Use drupal_retrieve_form para obtener la matriz de formularios estructurados:

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