J'ai plusieurs types de nœuds, chacun référencé dans un vocabulaire de termes de taxonomie différent. Pour la catégorie montrant j'utilise le module taxonomy_display.
Par exemple, nous avons deux catégories: les queues de billard et les boules de billard.
Cues a des prix de, des prix et des filtres de type bois. Mais les boules n'ont pas de filtre à bois.
Je dois donc supprimer le filtre de type de bois si taxonomy_term tid fait référence au vocabulaire des boules de billard.
Par conséquent, je dois supprimer l'un des nombreux filtres exposés par programme.
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]);
}
Le champ de filtre se retire avec succès, mais j'ai un avis php:
Notice: Undefined index: field_wood_reference_tid in function views_handler_filter_term_node_tid->exposed_validate()
J'essaie également de supprimer le champ dans hook_pre_execute (), mais avec le même résultat:
function modulename_views_pre_execute(&$view) {
$filter_field = 'filter_id';
unset($view->display_handler->handlers['filter'][$filter_field]);
unset($view->filter[$filter_field]);
}
Essayez également avec la méthode override_option () comme ici - http://groups.drupal.org/node/82219 , mais aucun résultat du tout.
Aucune suggestion? Aide Pls =)
Merci à tous pour la réponse mais je n'ai toujours pas de réponse. Peut-être que quelque chose n'est pas clair? = (
?filter_id=val
, vues renvoie un affichage vide ou une erreur de choix illégal ...