Tengo problemas para usar hook_form_alter()
con Views 3 y Drupal 7.
No puedo agregar una declaración if para identificar de forma exclusiva una vista; Sea lo que sea que ponga, la declaración if nunca se considera verdadera. Sin embargo, puedo usar fácilmente form_id usando lo siguiente, ¡así que no estoy seguro de dónde me estoy equivocando!
if ($form_id == 'views_exposed_form') {
}
¿Cómo uso hook_form_alter()
para modificar de forma única una vista mía?
mymodule_form_views_exposed_form_alter()
lugar demymodule_form_alter
, luego puede omitir el cheque$form_id
.Lo que haría es dar un paso atrás y ver si incluso estás registrando este gancho. A menudo
$form_id
el cambio.Proceso de depuración
Código de ejemplo (dentro
mymodule.module
otemplate.php
archivo) de drupal.org :Verá un montón de identificadores de formularios impresos, luego seleccione sus ganchos de formulario expuestos y trabaje desde allí.
Además, con drupal 7 puede orientar formularios específicos por ID directamente .
Ejemplo:
Tenga en cuenta que si está utilizando múltiples formularios expuestos, puede verificar una vista específica examinando $ form ['# id'] en la función de modificación de formulario.
Finalmente, si eso no funciona, recomendaría revisar esta lista de problemas: Cómo alterar el filtro en los filtros expuestos de forma a través de un enlace de forma
fuente
Recientemente me he encontrado con este problema también, pero estoy usando el módulo de características en lugar de uno personalizado. Esto me ayudó a resolver el problema.
Y luego puede usar su hook_form_views_exposed_form_alter ():
fuente