Ich habe eine Seitenansicht mit exponierten Filtern. Einer der Filter ist das Begriffsvokabular. In dieser Dropdown-Liste kann der Benutzer nur eine Kategorie (Begriff) auswählen.
Ich möchte programmgesteuert einen Begriff aus der Dropdown-Liste festlegen, wenn ich von einer bestimmten URL komme. Ich habe versucht, views_query_alter
wo $category
ist tid
.
$set_exposed_input = array();
$set_exposed_input['field_category_tid'] = $category;
if ($set_exposed_input) {
$view->set_exposed_input($set_exposed_input);
}
Antworten:
Für Drupal 7 können Sie verwenden
Das ist
Ein vollständiges Beispiel finden Sie hier:
Eine andere Möglichkeit ist die Verwendung der Ansichtsfunktion set_option
quelle
Stellen Sie den exponierten Filterwert wie folgt ein:
quelle
Wenn Sie mit Drupal 7.54 den exponierten Filter programmgesteuert verarbeiten möchten, gehen Sie wie folgt vor, wenn Sie ein Feld mit mehreren Werten haben. Die Lösung, um zu sehen, wie ein exponierter Filter übergeben wird, besteht darin, zu verfolgen, wie die URL erstellt wird.
Hier: view_name? Alias [1] = 1
Sie können dies von jedem beliebigen Ort aus ausführen. Am besten aus der Moduldatei.
quelle