Ich habe Probleme hook_form_alter()
mit Views 3 und Drupal 7.
Ich kann keine if-Anweisung hinzufügen, um eine Ansicht eindeutig zu identifizieren. Was auch immer ich einsetze, die if-Aussage wird nie als wahr befunden. Ich kann die form_id jedoch einfach wie folgt verwenden, sodass ich nicht sicher bin, wo ich falsch liege!
if ($form_id == 'views_exposed_form') {
}
Wie hook_form_alter()
ändere ich eine einzelne meiner Ansichten eindeutig?
mymodule_form_views_exposed_form_alter()
alsmymodule_form_alter
, können Sie dann den Scheck für überspringen$form_id
.Was ich tun würde, ist, einen Schritt zurückzutreten und zu sehen, ob Sie diesen Haken überhaupt registrieren. Oft ist
$form_id
das Wechselgeld.Debugging-Prozess:
Beispielcode (innerhalb
mymodule.module
odertemplate.php
Datei) von drupal.org :Es wird eine Reihe von Formular-IDs ausgedruckt. Wählen Sie dann Ihren sichtbaren Formular-Hook aus und arbeiten Sie von dort aus.
Mit Drupal 7 können Sie bestimmte Formulare auch direkt nach ID ausrichten .
Beispiel:
Beachten Sie, dass Sie bei Verwendung mehrerer verfügbarer Formulare nach einer bestimmten Ansicht suchen können, indem Sie $ form ['# id'] in der Formularänderungsfunktion untersuchen.
Wenn dies nicht funktioniert, empfehle ich, die Warteschlange zu überprüfen: So ändern Sie den Filter in exponierten Filtern von über den Hook form_alter
quelle
In letzter Zeit bin ich auch auf dieses Problem gestoßen, aber ich verwende ein Funktionsmodul anstelle eines benutzerdefinierten. Dies hat mir geholfen, das Problem zu lösen.
Und dann können Sie Ihre hook_form_views_exposed_form_alter () verwenden:
quelle