【问题标题】:Sitecore Page Editor Publishing items related to contentSitecore 页面编辑器 发布与内容相关的项目
【发布时间】:2013-08-21 04:41:32
【问题描述】:

我有一个“产品页面”,产品页面映射到“产品页面”Sitecore 项目。网站/页面/产品页面。

我在该页面中有一个带有页面编辑器的文本区域,它从 Web 数据库的“产品示例文本”Sitecore 项目的“描述”文本中加载文本。 (Sitecore.../CommonText/产品示例文本)

在我的 ascx 文件中,标记非常直接,

<sc:FieldRenderer ID="FieldRenderer1" runat="server" />

代码隐藏,

FieldRenderer1.Item = //"Product Example Text" Sitecore item
FieldRenderer1.FieldName = "Description";

当我在页面编辑器中打开页面时(作为系统管理员),它允许我更改“产品示例文本”,当我使用页面编辑器上的“保存”按钮保存时,它会保存到主文件数据库。 “产品示例文本”项目被保存。 现在,当我尝试使用页面编辑器功能区中的“发布”项目发布项目时,这些更改没有得到反映,原因是“产品示例文本”项目没有发布。

当我保存页面时,Sitecore 以某种方式理解必须保存“产品示例文本”项。但是为什么不发布呢? 我做错什么了吗....我该如何解决这个问题?

【问题讨论】:

  • 您有附加工作流程吗?有可能还没有被批准吗?此外,如果您在内容编辑器中浏览到该项目,您的更改是否会如您预期的那样显示在那里?

标签: sitecore page-editor


【解决方案1】:

页面编辑器中保存项目时,Sitecore 会保存页面上显示的所有字段渲染器,因此如果您将FieldRenderer1Item 属性设置为"Product Example Test" Sitecore ItemPage Editor 知道应该保存哪个项目。

发布的问题是您将当前项目排入发布队列,但该项目在其任何属性中都没有指向 "Product Example Test" Sitecore Item 的链接,因为您正在动态设置字段渲染器的 Item 属性在代码中。

选项是在Page Editor 按钮旁边添加另一个按钮到Edit Related Item,并创建一个将Publish Related Item 的命令。如何添加这样一个命令的完整描述可以在答案Sitecore page editor - how to extend page editor item editing panel中找到

【讨论】:

  • 正确,这正是我想知道的。
【解决方案2】:

另一种方法是在“ProductPage”下创建“Product Example Test”内容项作为子项。在发布选项中,您可以使用发布子项目,这将发布您想要的所有内容。 但问题是,如果您希望在多个地方共享特定内容,这是行不通的。 Maras 的答案是更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多