私は、キャッシュが有効になっているサブレイアウトを見つけることを任されています。サブレイアウトでのキャッシングについて話しているのではありません。つまり、レンダリング パラメータで設定された、そのサブレイアウトの個々のインスタンスでのキャッシングです。
これが私が現在行っていることです:
- 各アイテムを見て、サイトのツリー全体を解析します
- 各アイテムのレンダリングを取得する
- 各レンダリングを循環
- 「キャッシュ」セクションで「キャッシュ可能」が設定されているかどうかを確認します
私の問題は、表示されている 'Cachable' 設定がサブレイアウト (Sitecore の [レイアウト] > [サブレイアウト] の下) で設定されたものであり、アイテムのサブレイアウトのインスタンス ([マイ アイテム] > [プレゼンテーション] > [詳細]) で設定したものではないことです。 > クリック コントロール)
私のコードはスタンドアロンで書かれています
番号 1 は問題ありません。各項目に対して行うことは次のとおりです。
2)
RenderingReference[] renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);
3)
foreach (RenderingReference r in renderings)
4)
bool cacheable = r.RenderingItem.Caching.Cacheable;
各サブレイアウトに固有のレンダリング パラメータを取得する手順がないようです。ただし、私が読んだガイドから、これらのパラメーターにアクセスするにはサブレイアウト自体が必要なようです。アイテムまたはレンダリング参照からサブレイアウトを取得する方法が見つかりません (おそらく正当な理由がありますか?)。誰でも私が進歩するのを助けることができますか?