Tengo varios tipos de nodos, cada uno de ellos referenciado a vocabulario de términos de taxonomía diferente. Para la categoría que muestra, uso el módulo taxonomy_display.
Por ejemplo, tenemos dos categorías: tacos y bolas de billar.
Cues tiene precio desde, precio hasta y filtros de tipo madera. Pero las bolas no tienen filtro de madera.
Por lo tanto, necesito eliminar el filtro de tipo de madera si taxonomy_term tid hace referencia al vocabulario de bolas de billar.
Por lo tanto, necesito eliminar uno de los muchos filtros expuestos mediante programación.
function modulename_views_pre_view(&$view, &$display_id, &$args) {
// Some custom logic wich field_info_instances checking ...
$filter_field = 'filter_id';
// Removes from everywhere where i can find filter or filters properties
unset($view->display[$view->current_display]->display_options['filters'][$filter_field]);
unset($view->display[$view->current_display]->handler->options['filters'][$filter_field]);
unset($view->display_handler->display->display_options['filters'][$filter_field]);
unset($view->display_handler->options['filters'][$filter_field]);
}
El campo de filtro se elimina con éxito, pero recibí un aviso de php:
Notice: Undefined index: field_wood_reference_tid in function views_handler_filter_term_node_tid->exposed_validate()
También trato de eliminar el campo en hook_pre_execute (), pero con el mismo resultado:
function modulename_views_pre_execute(&$view) {
$filter_field = 'filter_id';
unset($view->display_handler->handlers['filter'][$filter_field]);
unset($view->filter[$filter_field]);
}
Pruebe también con el método override_option () como aquí: http://groups.drupal.org/node/82219 , pero no hay ningún resultado.
¿Alguna sugerencia? Por favor ayuda =)
Gracias a todos por la respuesta, pero todavía no tengo respuesta. Tal vez algo no está claro? = (
?filter_id=val
, las vistas devuelven una pantalla vacía o un error de elección ilegal ...