我使用Sitecore和DMS(Sitecore 7.2),并且我在布局上设置了各种控件,以根据用户个人资料卡从不同的文件夹中提取内容。我希望这些文件夹成为" bucket"文件夹,因为每个配置文件卡都有一个文件夹,并且每次添加新的配置文件卡时,作者必须手动更新所有这些文件夹,这有点令人不快。
" Developers Guide to Item Buckets and Search"表示:
默认情况下,项目是根据项目创建日期和时间进行组织的,但可以配置为使用不同的行为
理想情况下,我希望将我的项目存放在模板中定义的字段上,这些字段是我所有的" bucketable"项目模板继承自。我将该字段设置为配置文件卡列表中的选择下拉列表。
我发现了Sitecore Autohaus demo Bucketing.GuidFolderPath class - 看起来我需要使用GetFolderPath
方法定义其中一个类?但是,如何告诉我的Sitecore存储桶项目我想要使用该类进行存储?
答案 0 :(得分:8)
您确实可以使用自定义IDynamicBucketFolderPath并在配置(BucketConfiguration.DynamicBucketFolderPath)中设置它,但这将更改所有存储桶的默认值。
您可以在sitecore中定义规则,以指定特定路径/模板/ id / etc的文件夹结构。 默认情况下有3个规则:CreateDateBasedPath,CreateIDBasedPath和CreateItemNameBasedPath,但您可以在/ sitecore / system / Settings / Rules / Definitions / Elements / Bucketing /
下添加您自己的规则。答案 1 :(得分:4)
您可以通过两种方式更改分组策略:
使用预定义的存储分区规则。导航到存储在/ sitecore / system / Settings / Buckets位置的项目存储区设置,并创建新规则(存储策略:项目创建日期)以解析存储区文件夹路径。
为分组策略编写自定义代码。编写CustomBucketFolderPathResolver类,该类实现IDynamicBucketFolderPath接口并返回文件夹路径。
详细信息可在以下帖子中找到:
http://www.bugdebugzone.com/2014/07/configuring-sitecore-item-buckets-with.html
http://www.bugdebugzone.com/2014/07/configuring-sitecore-item-buckets-with_19.html