我在/ sitecore / Home / FootballFever / 文章中创建了一个内容项,并提供了插入选项,以便我们只能添加模板项目“文章”。截至目前,这些文章项目可根据字段创建日期进行存储。
现在,我在主页功能区“插入”块中插入选项“添加文章”和“从模板插入”按钮。当我通过“从模板插入”创建项目时,该项目会自动添加到相应的存储桶中,路径为创建日期。例如,如果项目的创建日期是“7/21/2014”,那么路径将是“/ Articles / 2014/7/21 /”。
但是当我点击“添加文章”时,项目会添加到/文章中,我必须每次都进行同步以使其更正路径。 如何使用与“从模板插入”相同的行为,但路径的发布日期是模板“文章”的字段?
答案 0 :(得分:4)
请确保文章模板的标准值(对于文章模板)已选中 Bucketable 字段。
如果没有,当您将新项目添加到存储桶文件夹时,新添加的项目本身不具有存储空间,与同一存储库文件夹中的其余已存在项目不同。
我刚刚在我的沙箱环境中做了一个概念验证,并且可以确认,如果你添加一个新的项目,其中Bucketable由标准值检查 - 它会立即进入一个桶,你不需要执行同步强>
希望这有帮助。
更新:我专门撰写了一篇博文,以涵盖您的问题,并提供全面的说明。
http://blog.martinmiles.net/post/understanding-buckets-adding-new-items-to-buckets-correctly
答案 1 :(得分:1)
默认情况下,项目将根据项目的创建日期和时间在桶文件夹中构建,深度为五级。您可以使用其他一些内置规则,例如使用Guid的一部分或部分名称。这里要注意的是,这些都是项目创建时可用的东西。如果您想根据自定义发布日期'来构建文章。那么你需要编写一个自定义规则,你还必须实现一个OnItemSaved
事件处理程序。关于如何编写自定义规则的Here is a article。
通常,您不必担心物品在桶中的结构。编辑应该使用搜索选项卡来查找他们需要的项目。
话虽如此,this SO post讨论了如何根据自定义字段构建存储桶项。这里需要注意的一点是,这通常是一个全球变化。有很多方法可以让你为不同的存储桶制定不同的策略,但是你必须做更多的工作来覆盖LinkProvider
和其他可能的事情。