J'ai du mal à utiliser hook_form_alter()
avec Views 3 et Drupal 7.
Je ne parviens pas à ajouter une instruction if pour identifier de façon unique une vue; quoi que je mette, la déclaration if ne se révèle jamais vraie. Cependant, je peux facilement utiliser le form_id en utilisant ce qui suit, donc je ne sais pas où je me trompe!
if ($form_id == 'views_exposed_form') {
}
Comment puis-je utiliser hook_form_alter()
pour modifier de façon unique une seule vue de la mienne?
mymodule_form_views_exposed_form_alter()
place demymodule_form_alter
, vous pouvez ensuite ignorer la vérification$form_id
.Ce que je ferais, c'est prendre un peu de recul et voir si vous enregistrez même ce crochet.
$form_id
Changement souvent .Processus de débogage:
Exemple de code (à l'intérieur
mymodule.module
outemplate.php
fichier) de drupal.org :Vous verrez un tas d'ID de formulaire imprimé, puis sélectionnez votre point de vue exposé et travaillez à partir de là.
De plus, avec drupal 7, vous pouvez cibler directement des formulaires spécifiques par ID .
Exemple:
Notez que si vous utilisez plusieurs formulaires exposés, vous pouvez vérifier une vue spécifique en examinant $ form ['# id'] dans la fonction alter form.
Enfin, si cela ne fonctionne pas, je recommanderais de revoir cette file d'attente de problèmes: comment modifier le filtre dans les filtres exposés via le crochet form_alter
la source
récemment, j'ai également rencontré ce problème, mais j'utilise un module de fonctionnalité au lieu d'un module personnalisé. Cela m'a aidé à résoudre le problème.
Et puis vous pouvez utiliser votre hook_form_views_exposed_form_alter ():
la source