Mam widok strony z widocznymi filtrami. Jednym z filtrów jest słownictwo terminowe, a to lista rozwijana, użytkownik może wybrać tylko jedną kategorię (termin).
Chcę ustawić programowo jeden termin z listy rozwijanej, gdy pochodzę z określonego adresu URL. Próbowałem z views_query_alter
gdzie $category
jest tid
.
$set_exposed_input = array();
$set_exposed_input['field_category_tid'] = $category;
if ($set_exposed_input) {
$view->set_exposed_input($set_exposed_input);
}
Odpowiedzi:
Do drupala 7 możesz użyć
To jest
Aby uzyskać pełny przykład, możesz spróbować:
Innym sposobem jest użycie funkcji set_option widoków
źródło
Ustaw wartość odsłoniętego filtra w następujący sposób:
źródło
w Drupal 7.54, gdy chcesz programowo przetwarzać filtr narażony, tak właśnie robisz, gdy masz pole o wielu wartościach. Rozwiązaniem, aby zobaczyć, jak przekazać odsłonięty filtr, jest śledzenie sposobu tworzenia adresu URL.
Tutaj: view_name? Alias [1] = 1
Możesz to zrobić z dowolnego miejsca. Najlepiej z pliku modułu.
źródło