创建时根据日期字段存储的项目
Item to be bucketed according to a date field when created
我在 /sitecore/Home/FootballFever/Articles 创建了一个内容项,并提供了插入选项,以便我们可以仅添加模板项“Article ”。截至目前,这些文章项目可根据字段创建日期进行分桶。
现在,我在主页功能区 "Insert" 块中插入了选项 "Add Article" 和 "Insert from Template" 按钮。当我通过 "Insert from Template" 创建一个项目时,该项目会自动添加到相应的存储桶中,路径为创建日期。例如,如果项目创建日期为“7/21/2014”,则路径将为“/Articles/2014/7/21/”。
但是当我点击 "Add Article" 时,该项目被添加到 /Articles 中,我必须每次都同步才能使其进入正确的路径。
我怎样才能拥有与 "Insert from Template" 相同的行为,但路径具有 发布日期 这是模板字段 "Article"?
请确保 Article 模板在其 Standard values 中检查了 Bucketable 字段(用于文章模板)。
如果不是,当您将新项目添加到 buckets 文件夹时,新添加的项目本身是不可存储的,这与同一存储桶文件夹中其他已经存在的项目不同。
我刚刚在我的沙箱环境中进行了概念验证,并且可以确认如果您添加一个新项目,并通过标准值检查 Bucketable - 它会立即进入一个存储桶,您 不需要执行 Sync.
希望对您有所帮助。
更新:我专门写了一篇博客post来解决你的问题,描述很全面。
http://blog.martinmiles.net/post/understanding-buckets-adding-new-items-to-buckets-correctly
默认情况下,项目将在存储桶文件夹中构建,根据项目创建的日期和时间,深度为五层。您可以使用一些其他内置规则,例如使用部分 Guid 或部分名称。这里需要注意的是,这些都是在物品创建时可用的东西。如果您想根据自定义 'Release Date' 构建您的文章,那么您将需要编写自定义规则,并且还必须实施 OnItemSaved
事件处理程序。 Here is a article关于如何编写自定义规则。
通常您不必担心项目在您的存储桶中的结构。编辑应该使用搜索选项卡来查找他们需要的项目。
话虽如此,this SO post 讨论了如何根据自定义字段构建存储桶项目。这里需要注意的是,这通常是全局更改。有一些方法可以让你对不同的桶有不同的策略,但是你必须做额外的工作来覆盖 LinkProvider
和其他可能的东西。
我在 /sitecore/Home/FootballFever/Articles 创建了一个内容项,并提供了插入选项,以便我们可以仅添加模板项“Article ”。截至目前,这些文章项目可根据字段创建日期进行分桶。
现在,我在主页功能区 "Insert" 块中插入了选项 "Add Article" 和 "Insert from Template" 按钮。当我通过 "Insert from Template" 创建一个项目时,该项目会自动添加到相应的存储桶中,路径为创建日期。例如,如果项目创建日期为“7/21/2014”,则路径将为“/Articles/2014/7/21/”。
但是当我点击 "Add Article" 时,该项目被添加到 /Articles 中,我必须每次都同步才能使其进入正确的路径。 我怎样才能拥有与 "Insert from Template" 相同的行为,但路径具有 发布日期 这是模板字段 "Article"?
请确保 Article 模板在其 Standard values 中检查了 Bucketable 字段(用于文章模板)。
如果不是,当您将新项目添加到 buckets 文件夹时,新添加的项目本身是不可存储的,这与同一存储桶文件夹中其他已经存在的项目不同。
我刚刚在我的沙箱环境中进行了概念验证,并且可以确认如果您添加一个新项目,并通过标准值检查 Bucketable - 它会立即进入一个存储桶,您 不需要执行 Sync.
希望对您有所帮助。
更新:我专门写了一篇博客post来解决你的问题,描述很全面。
http://blog.martinmiles.net/post/understanding-buckets-adding-new-items-to-buckets-correctly
默认情况下,项目将在存储桶文件夹中构建,根据项目创建的日期和时间,深度为五层。您可以使用一些其他内置规则,例如使用部分 Guid 或部分名称。这里需要注意的是,这些都是在物品创建时可用的东西。如果您想根据自定义 'Release Date' 构建您的文章,那么您将需要编写自定义规则,并且还必须实施 OnItemSaved
事件处理程序。 Here is a article关于如何编写自定义规则。
通常您不必担心项目在您的存储桶中的结构。编辑应该使用搜索选项卡来查找他们需要的项目。
话虽如此,this SO post 讨论了如何根据自定义字段构建存储桶项目。这里需要注意的是,这通常是全局更改。有一些方法可以让你对不同的桶有不同的策略,但是你必须做额外的工作来覆盖 LinkProvider
和其他可能的东西。