Mam widok, który akceptuje filtr kontekstowy w celu zwrócenia poprawnych wyników. Korzystam z usług 3 i Drupal 7. Jestem w stanie utworzyć punkt końcowy i pobrać widok za pośrednictwem usług. Wygląda jednak na to, że nie można przekazać filtru kontekstowego, ponieważ services_views ma tylko metodę pobierania (która korzysta z GET). Czy ktoś wie, czy jest to możliwe, a jeśli tak, to jak to zrobić?
11
To jest pytanie, na które już udzielono odpowiedzi, ale innym osobom przeglądającym tutaj w przyszłości, zaleciłbym skorzystanie i przejrzenie dokumentacji w widokach usług . Objaśnia, jak przekazywać filtry kontekstowe wraz z szeregiem innych możliwych argumentów, a także wideo demonstracyjne i pokazuje przykłady.
źródło
Jeśli musisz użyć wielu wartości w filtrze kontekstowym, sugeruję wykonanie następujących czynności:
return str_replace("|", "+", $_GET['nid']);
Teraz, dzwoniąc do usługi, podaj w ten sposób filtry kontekstowe: ... / my_service? Nid = 1 | 2 | 3
źródło
W przypadku tych, którzy nadal mają problemy, upewnij się, że po dodaniu filtra do widoku w ustawieniach dla określonego pola istnieje identyfikator filtru. Musi to być argument przekazany do kwerendy w dwóch formatach wymienionych w dokumentacji widoków usług.
źródło
Udało mi się uzyskać filtr kontekstowy z usługami Drupal poprzez: 1) włączenie modułu „Wyświetlenie zapytania o filtr kontekstowy” ( https://drupal.org/project/views_contextual_filter_query ) 2) przekazanie filtru kontekstowego przez adres URL jako kwerendę.
W filtrze kontekstowym będziesz musiał wybrać „GDY WARTOŚĆ FILTRA NIE JEST DOSTĘPNA” -> „Parametr zapytania z adresu URL. Będziesz wtedy mógł dodać nazwę parametru, której będziesz używać w adresie URL. Pozwala to również na użycie + i | znaki do wyboru wielu kryteriów filtrowania.
źródło