Usando hook_form_alter en filtros de vista expuestos en Drupal 7

Pregunta:

Tengo problemas para usar hook_form_alter() con Views 3 y Drupal 7.

No puedo agregar una declaración if para identificar de manera única una vista; 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 alterar de forma única una vista única mía?

Respuesta:

Puede obtener acceso al objeto de vista dentro de hook_form_alter accediendo a $form_state['view'] . Eso le permite identificar una vista específica:

function mymodule_form_alter(&$form, &$form_state, $form_id) {
    if ($form_id == 'views_exposed_form') {
        $view = $form_state['view'];
        if ($view->name == 'my_view_machine_name' && $view->current_display == 'display_name') {
            // alter your exposed form here
        }
    }
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım