Ich habe eine Ansicht, die einen Kontextfilter akzeptiert, um die richtigen Ergebnisse zurückzugeben. Ich verwende Services 3 und Drupal 7. Ich kann einen Endpunkt erstellen und die Ansicht über Services abrufen. Es scheint jedoch keine Möglichkeit zu geben, den Kontextfilter zu übergeben, da services_views nur über eine Abrufmethode verfügt (die GET verwendet). Weiß jemand, ob dies möglich ist und wenn ja, wie es gemacht werden kann?
11
Dies ist eine bereits beantwortete Frage, aber für andere, die in Zukunft hier surfen, würde ich empfehlen, die Dokumentation unter Services Views zu verwenden und einen Blick darauf zu werfen . Es beschreibt, wie Kontextfilter zusammen mit einer Reihe anderer möglicher Argumente übergeben werden. Es enthält ein Demo-Video und zeigt Beispiele.
quelle
Wenn Sie in Ihrem Kontextfilter mehrere Werte verwenden müssen, empfehle ich Folgendes:
return str_replace("|", "+", $_GET['nid']);
Geben Sie jetzt beim Aufrufen Ihres Dienstes Ihre Kontextfilter folgendermaßen an: ... / my_service? Nid = 1 | 2 | 3
quelle
Stellen Sie für diejenigen unter Ihnen, die weiterhin Probleme haben, sicher, dass beim Hinzufügen eines Filters zur Ansicht unter den Einstellungen für das angegebene Feld eine Filterkennung vorhanden ist. Dies muss das Argument sein, das in den beiden in der Dokumentation zu Services Views aufgeführten Formaten an den Querystring übergeben wird.
quelle
Ich konnte mit Drupal Services einen Kontextfilter erhalten, indem ich: 1) das Modul 'Views Contextual Filter Query' ( https://drupal.org/project/views_contextual_filter_query ) aktivierte 2) den Kontextfilter als Abfragering durch die URL leitete.
Im Kontextfilter müssen Sie "WENN DER FILTERWERT NICHT VERFÜGBAR IST" -> "Abfrageparameter" aus der URL auswählen. Anschließend können Sie den Parameternamen hinzufügen, den Sie in der URL verwenden. Auf diese Weise können Sie auch die Tasten + und | verwenden Zeichen zur Auswahl mehrerer Filterkriterien.
quelle