当サイトを最適な状態で閲覧していただくにはブラウザのJavaScriptを有効にしてご利用下さい。
JavaScriptを無効のままご覧いただいた場合には一部機能がご利用頂けない場合や正しい情報を取得できない場合がございます。
承知しました
本サイトではWebサイトのエクスペリエンスを向上させるために、Cookieを使用しています。Cookieはブラウザの設定から無効にできます。本サイトで使用するCookieについては、プライバシーポリシーをご確認ください。

Blog

ブログ

開発者向け

Kentico Cloud .NET SDK DeliveryAPIフィルターについて理解する

By Bryan Soltis  

Kentico Cloudの開発を開始すると、プラットフォームのパワーがそのアクセシビリティであることがすぐにわかります。業界標準のサービスを活用して情報を取得することにより、企業はあらゆるデバイスにコンテンツを配信できる堅牢なソリューションを設計できます。この記事では、コンテンツをすばやく取得する方法を理解するのに役立つ、DeliveryAPI内で使用できるさまざまなフィルターを紹介します。

クラウドベースのCMSをプロジェクトに組み込むことは、データを取得するためにシステムへの呼び出しが多くなることを意味します。 Kentico Cloudでは、これは情報を取得するためのDeliveryAPI呼び出しの混乱を意味します。幸い、このプラットフォームには、データの取得を簡素化し、コンテンツの取得を支援するいくつかの組み込み機能があります。

Kentico Cloudコンテンツはマルチチャネルになるように設計されているため、すべてのタイプのデータをシステムに保存できます。つまり、Kentico Cloudでは、ウェブサイトの情報はモバイルアプリの詳細と一緒に表示されます。このすべてのデータを整理しておくために、Kentico Cloudには、コンテンツタイプ、分類法、場所、および物事を分類するために活用できるその他のリソースがあります。

コンテンツを分類する方法はたくさんあるので、アプリケーション用にアイテムを取得するときにアイテムをフィルタリングする方法を知っておく必要があります。 Delivery APIFiltersに挨拶します。これらの強力な機能は、さまざまな方法で、必要な正確な情報を取得するのに役立ちます。 APIで現在利用可能な各フィルターの概要は次のとおりです。

AllFilter

このフィルターは、フィールドまたはプロパティを値のコレクション内のすべてのアイテムに一致させるために使用されます。

 products = await client.GetItemsAsync( new EqualsFilter('system.type', 'product'), new AllFilter('elements.features', 'sla,free_consulting_hours') );



-指定されたすべてのキーワードを含む記事のフィルタリング
-一連の基準または複数の値に一致する製品を返品する

AnyFilter

このフィルターを使用して、コレクション内の任意の値に一致するコンテンツアイテムを返すことができます。 AnyFilterは通常、分類法や複数選択などの複数値要素に使用されます。

 var products = await client.GetItemsAsync( new EqualsFilter('system.type', 'product'), new AnyFilter('elements.color', 'red,blue'));



-特定のコレクションの任意の値に一致するアイテムを返す

containsFilter

このフィルターを使用して、コレクション内の特定の値を含むコンテンツアイテムを返すことができます。 AnyFilterと同様に、ContainsFilterは通常、分類法や複数選択などの複数値要素に使用されます。

 var article = await client.GetItemsAsync
( new EqualsFilter('system.type', 'article'), new ContainsFilter('elements.personas', 'barista'));



-特定のタグ(分類用語)を持つブログ記事を見つけようとしています

GreaterThanFilter / GreaterThanOrEqualFilter / LessThanFilter / LessThanOrEqualFilter

これらのフィルターは、値が指定された値より大きいか小さいかを判別するために使用されます。これは、日付や数値要素を操作するときに非常に役立ちます。

 new GreaterThanFilter('system.name', '123')new GreaterThanOrEqualFilter('system.name', '123')new LessThanFilter('system.name', '123')new LessThanOrEqualFilter('system.name', '123')new LessThanFilter('elements.date', DateTime.Now.ToString('yyyy-MM-dd'))



-日付による記事のフィルタリング
-要素値のしきい値を設定して結果を制限する

InFilter

このフィルターは、フィールドまたは要素に指定されたコレクションの値が含まれているかどうかを判別する場合に役立ちます。 InFilterは通常、価格やタイプなどの単一値要素に使用されます。

 new InFilter('system.codename', 'abc,efg,hij')



-値のコレクションによる結果のフィルタリング
-記事の複数のタイプのタグを引き戻す

RangeFilter

このフィルターは、事前定義された範囲に基づいて結果を制限する場合に役立ちます。フィルタは、指定された値を比較して、範囲の制限内にあるかどうかを確認します。

 new RangeFilter('system.codename', '0', '100')new Range('elements.date', DateTime.Now.AddDays(-30).ToString('yyyy-MM-dd'), DateTime.Now.ToString('yyyy-MM-dd'))



-特定の範囲内の評価を持つコンテンツページを取得する
-2つの日付の間に公開された記事を返す

前進する

このブログが示すように、KenticoCloudから取得したデータをフィルタリングする方法はたくさんあります。各タイプのフィルターをいつどのように使用するかを学習することで、必要なコンテンツを簡単に返すことができ、プログラミングと呼び出しの量を減らすことができます。

Kentico Cloud Delivery APIの詳細については、こちらをご覧ください

Kentico .NET SDKの詳細については、こちらをご覧ください

がんばろう!


Headless CMSの導入をお考えでしょうか?

クラウドとマルチデバイスに最適化されたKentico Kontentをお試しください