我的任务是找出我们的哪些子布局已打开缓存。我不是在谈论子布局上的缓存——我的意思是在渲染参数中设置的该子布局的每个单独实例上的缓存。
这是我目前所做的:
- 解析我们网站的整个树,查看每个项目
- 获取每个项目的效果图
- 循环浏览每个渲染
- 检查“缓存”部分中是否设置了“可缓存”
我的问题是我看到的“可缓存”设置是子布局中的设置(在 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;
似乎我错过了获取每个子布局特定的渲染参数的步骤。但是,从我读过的指南看来,您似乎需要子布局本身才能访问这些参数。我找不到从项目或渲染参考中获取子布局的方法(也许有充分的理由?)。任何人都可以帮助我进步吗?