Comment utiliser la fonction Devel dsm () pour imprimer le tableau $ form de mon formulaire?

8

Je veux utiliser la dsm()fonction du module Devel pour imprimer le $formtableau d'un formulaire, où l' form_idest search_theme_form. Comment faire ça?

sokratis
la source

Réponses:

12

Démarrez un module personnalisé, insérez ce code:

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

En outre, vous souhaiterez peut-être utiliser dpm () sur dsm () car ce dernier est une fonction héritée.

Bart
la source
1
@sokratis vous pouvez également télécharger mon module simple pour le développement de formulaires - il ajoute le dpm($form_state)même après la soumission
mojzis
est-ce toujours exact?
Jeff
3
function THEME_form_search_theme_form_alter (&$form, &$form_state){

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

}

Remplacez THEME par le nom de votre thème et mettez-le dans votre template.php, si vous voulez le faire à partir d'un module, remplacez THEME par le nom de votre module et mettez cette fonction dans votre fichier .module

soieAdmin
la source
2

Utilisez drupal_retrieve_form pour obtenir le tableau de formulaires structuré:

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