Ich habe mehrere Knotentypen, von denen jeder auf unterschiedliche Taxonomie-Vokabeln verweist. Für die Kategorieanzeige verwende ich das Modul taxonomy_display.
Zum Beispiel haben wir zwei Kategorien: Queues und Billardkugeln.
Cues hat Preis von, Preis bis und Holzfilter. Aber Bälle haben keinen Holzfilter.
Also muss ich den Holzfilter entfernen, wenn taxonomy_term auf das Vokabular der Billardkugeln verweist.
Daher muss ich einen von vielen exponierten Filtern programmgesteuert entfernen.
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]);
}
Filterfeld erfolgreich entfernt, aber ich habe PHP-Hinweis:
Notice: Undefined index: field_wood_reference_tid in function views_handler_filter_term_node_tid->exposed_validate()
Ich versuche auch, das Feld in hook_pre_execute () zu entfernen, aber mit dem gleichen Ergebnis:
function modulename_views_pre_execute(&$view) {
$filter_field = 'filter_id';
unset($view->display_handler->handlers['filter'][$filter_field]);
unset($view->filter[$filter_field]);
}
Versuchen Sie es auch mit der Methode override_option () wie hier - http://groups.drupal.org/node/82219 , aber ohne Ergebnis.
Irgendwelche Vorschläge? Bitte helfen Sie =)
Vielen Dank an alle für die Antwort, aber ich habe noch keine Antwort. Vielleicht ist etwas nicht klar? = ((
?filter_id=val
, gibt Ansichten eine leere Anzeige oder einen Fehler bei der illegalen Auswahl zurück ...