Sitecore 创建时根据日期字段扣合的项目

Sitecore 创建时根据日期字段扣合的项目,sitecore,sitecore7,bucket,Sitecore,Sitecore7,Bucket,我已经在/sitecore/Home/FootballFever/Articles上创建了一个内容项,并提供了插入选项,这样我们就可以只添加模板“Article”的项。到目前为止,这些文章项可以根据字段创建日期进行调整 现在,在主功能区的“插入”块中有插入选项“添加文章”和“从模板插入”按钮。当我通过“从模板插入”创建项目时,项目会自动添加到相应的bucket中,路径为创建日期。例如,如果项目的创建日期为“7/21/2014”,则路径为“/Articles/2014/7/21/” 但当我单击“添

我已经在/sitecore/Home/FootballFever/Articles上创建了一个内容项,并提供了插入选项,这样我们就可以只添加模板“Article”的项。到目前为止,这些文章项可以根据字段创建日期进行调整

现在,在主功能区的“插入”块中有插入选项“添加文章”和“从模板插入”按钮。当我通过“从模板插入”创建项目时,项目会自动添加到相应的bucket中,路径为创建日期。例如,如果项目的创建日期为“7/21/2014”,则路径为“/Articles/2014/7/21/”

但当我单击“添加文章”时,该项目会添加到/Articles中,我每次都必须同步以将其添加到正确的路径。
我如何能够具有与“从模板插入”相同的行为,但路径具有发布日期,这是模板“文章”的一个字段?

请确保文章模板在其标准值中选中了Bucketable字段(对于文章模板)

否则,当您将新项目添加到bucket文件夹中时,新添加的项目本身不可BucketTable,这与同一bucket文件夹中其他已存在的项目不同

我刚刚在我的沙盒环境中做了一个概念验证,可以确认,如果您添加了一个新项目,并且Bucketable通过标准值进行了检查,那么它会直接进入一个bucket,并且不需要执行Sync

希望这有帮助

更新:我专门写了一篇博文,对你的问题进行了全面的描述


默认情况下,项目将在bucket文件夹中结构化,根据项目创建的日期和时间分为五级。您还可以使用一些其他内置规则,如使用部分Guid或部分名称。这里需要注意的是,这些都是在项目创建时可用的东西。如果您想根据自定义“发布日期”构建文章结构,则需要编写自定义规则,并且还必须实现
OnItemSaved
事件处理程序。关于如何编写自定义规则

一般来说,你不必担心物品在你的桶中是如何构造的。编辑应该使用“搜索”选项卡来查找他们需要的项目


话虽如此,本文讨论了如何基于自定义字段构造bucket项。这里需要注意的是,这通常是一个全球性的变化。有很多方法可以让你为不同的bucket制定不同的策略,但是你必须做额外的工作来覆盖
LinkProvider
和潜在的其他东西。

你是如何指定你的文章应该根据
发布日期在bucket中结构化的?是否创建了自定义规则?是,文章模板已勾选Bucketable。我想的是为这个发布日期行为创建一个自定义规则,但我不知道如何..说文章模板你是指文章模板下的标准值吗?我高度怀疑你有什么配置错误,因为我上面描述的消息完全符合你的要求-我已经测试了新项目,并且位于与创建日期不符的范围内。我已经为这个特定问题写了一篇博文,请有上面的链接。我浏览了你的博文,这很好。创建日期没有问题…这是Bucket设置中添加的默认规则。我想要相同的行为,但自定义字段“发布日期”。我在sitecore中寻找一些类似的配置,它不涉及任何自定义编码。但似乎我也必须按照克里斯坦的建议创建自定义规则。我对Sitecore 7.0有问题。我看不到项目存储桶设置中的“编辑规则”字段。但是对于Sitecore 8,它是存在的。。。!!因此,您的意思是说,通过添加自定义规则和必要的代码,然后实现OnItemSaved事件处理程序,新项目(在创建时-如“从模板插入”)将自动按“发布日期”进行绑定。我会尝试一下,但我无法在项目存储桶设置中找到“编辑规则”部分,也无法在系统/设置中找到“规则”(/system/Settings/Rules/Definitions/Elements/Bucketing)部分。如果你对此有什么建议的话,会很有帮助的。谢谢..您需要导航到
/sitecore/system/Settings/Bucket/Item Bucket Settings
的Bucket文件夹路径字段的解析规则来编辑规则。请看这篇博文以获取一个示例:另外,我们可以有多个具有不同模板的规则(默认或自定义)吗?