正しい結果を返すためにコンテキストフィルターを受け入れるビューがあります。サービス3とDrupal 7を使用しています。エンドポイントを作成し、サービスを介してビューを取得できます。ただし、services_viewsには取得メソッド(GETを使用)しかないため、コンテキストフィルターを渡す方法はないようです。これが可能かどうか、そして可能であればそれをどのように行うことができるか誰かが知っていますか?
正しい結果を返すためにコンテキストフィルターを受け入れるビューがあります。サービス3とDrupal 7を使用しています。エンドポイントを作成し、サービスを介してビューを取得できます。ただし、services_viewsには取得メソッド(GETを使用)しかないため、コンテキストフィルターを渡す方法はないようです。これが可能かどうか、そして可能であればそれをどのように行うことができるか誰かが知っていますか?
回答:
次のようにフィルターを渡します:yourendpoint?args [0] = value&args [1] = value
幸運を
これは既に回答済みの質問ですが、今後ここで閲覧する他のユーザーのために、Services Viewsのドキュメントを使用して確認することをお勧めします。コンテキストフィルターを他の多くの可能な引数と共に渡す方法を説明し、デモビデオと例を示します。
コンテキストフィルターで複数の値を使用する必要がある場合は、次のことをお勧めします。
return str_replace("|", "+", $_GET['nid']);
サービスを呼び出すときに、コンテキストフィルターを次のように指定します。... / my_service?nid = 1 | 2 | 3
問題が解決しない場合は、ビューにフィルターを追加するときに、指定したフィールドの設定の下にフィルターIDがあることを確認してください。これは、サービスビューのドキュメントに記載されている2つの形式でクエリ文字列に渡される引数である必要があります。
私はDrupal Servicesでコンテキストフィルターを取得することができました。1) 'Views Contextual Filter Query'モジュール(https://drupal.org/project/views_contextual_filter_query)を有効にする2)コンテキストフィルターをURL経由でクエリ文字列として渡す。
コンテキストフィルターでは、「フィルター値を使用できない場合」->「URLからパラメーターをクエリする」を選択する必要があります。次に、URLで使用するパラメーター名を追加できます。これにより、+と|を使用することもできます。複数のフィルター基準を選択するための文字。