SITECORE MANIA 開発者向け技術ブログ

その他

藤本

藤本

Sitecore(サイトコア)クエリで絞り込み

以前の記事「sitecoreクエリの基本的な使い方」に関連した内容です。

本記事では、演算子を用いてアイテムの選択肢を絞り込む方法について記載します。

Sitecoreクエリの演算子

Sitecoreクエリの演算子の例を以下の表に示します。

表記 説明 使用例
= 等しい

@@name='Item'

アイテム名がItemのとき

<= 以下

position()<=4

position()が4以下のとき

>= 以上

position()>=4

position()が4以上のとき

or または

@@name='Item1'or@@name='Item2'

アイテム名がItem1またはItem2のとき

and かつ

@@name='Item1'and@@name='Item2'

アイテム名がItem1かつItem12のとき

使用方法

  1. /sitecore/content/Home/Top/Settings配下にアイテムの選択肢を用意します。
    Htmlフォルダ・NewsHtmlフォルダ配下にはテンプレート名がHtmlのアイテム、Textフォルダ配下にはテンプレート名がTextのアイテムを用意しました。(※)

    ※各アイテムのテンプレートID

    • HtmlテンプレートのテンプレートID

    • TextテンプレートのテンプレートID

  2. 上記の項目1の選択肢を使用したいアイテムに対してテンプレートアイテムを作成します。
    本記事では、選択肢の絞り込みを行った後どのように表示されるかを比較するため、以下の6つのフィールドタイプのテンプレートを用意します。

    Droplink・Droplist・Multilist・Treelist・Droptree・Checklist

    その際に、上記の項目1のフォルダ配下でテンプレートIDが「{C7265005-2C77-4A6F-B87D-B8BD688364AA}」のもの(テンプレート名がHtmlのアイテム)を選択肢として絞り込むと仮定し、全てのフィールドに対して下記のクエリをデータソースに記述します。
    query:/sitecore/content/Home/Top/Settings/descendant::*[@@templateid='{C7265005-2C77-4A6F-B87D-B8BD688364AA}']

実際に使用してみて

以下の画像に、sitecoreクエリによって絞り込まれたフィールドを示します。

  • Droplinkについて

  • Droplistについて

  • Multilistについて

  • Treelistについて

  • Droptreeについて

  • Checklistについて

画像からもお分かりいただけるように、テンプレート名がHtmlのアイテムのみが選択肢として表示されています。
また、フィールドタイプによって絞り込みが機能するものを機能しないものがあるので注意が必要です。

絞り込み可能なフィールドタイプ:Droplink・Droplist・Multilist・Checklist
絞り込み不可能なフィールドタイプ:Treelist・Droptree

まとめ

本記事では、sitecoreクエリを使用した条件の絞り込みの紹介をしました。
条件の絞り込みは使用用途によって異なり、絞り込みが不可能なフィールドタイプもあります。
アイテムの絞り込みを重視したい場合、Droplink・Droplist・Multilist・Checklistなどを使用する、
階層構造を重視したい場合、Treelist・Droptreeなどを使用するといいです。


以上となります。ご参考にしていただけると幸いです。
最後まで読んでいただきありがとうございました。

参考文献



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス