2013-08-21 113 views
4

我有一個「產品頁面」,產品頁面映射到「ProductPage」Sitecore項目。網站/網頁/ ProductPage。Sitecore頁面編輯器發佈與內容相關的項目

我在頁面中有一個文本區域,頁面編輯器從Web數據庫的「產品示例文本」Sitecore項目的「描述」文本加載文本。 (Sitecore的.../CommonText /產品示例文本)

在我的ascx文件,標記是相當straigh forwad,

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

代碼隱藏,

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

當我打開頁面頁面編輯器(作爲系統管理員),它允許我更改「產品示例文本」,當我使用頁面編輯器上的「保存」按鈕保存時,它將保存到主數據庫。 「產品示例文本」項目被保存。 現在,當我嘗試使用「頁面編輯器」功能區中的「發佈」項目發佈項目時,這些更改沒有得到反映,原因是「產品示例文本」項目未發佈。

當我保存頁面時,Sitecore知道「產品示例文本」項目必須保存。但爲什麼它沒有公佈? 我是否做錯了什麼?我該如何解決這個問題?

+0

你有工作流程嗎?它有可能尚未獲得批准嗎? 另外,如果您瀏覽到內容編輯器中的項目,那麼您的更改是否按照您的預期顯示? – Trayek

回答

4

同時節省頁編輯項目,Sitecore的保存它們被顯示在網頁上的所有字段渲染器,所以如果你FieldRenderer1Item屬性設置爲"Product Example Test" Sitecore ItemPage Editor知道哪些項目應該被保存。

與發佈有關的問題是您將當前項目排入發佈隊列中,但該項目的任何屬性中都沒有指向"Product Example Test" Sitecore Item的鏈接,導致您在代碼中動態設置字段渲染器的Item屬性。

該選項將在Edit Related Item按鈕旁邊添加另一個按鈕到Page Editor並創建一個命令,該命令將爲Publish Related Item。如何添加這樣的命令的完整說明可以在答案Sitecore page editor - how to extend page editor item editing panel

+0

現貨,這正是我想知道的。 – Dhanuka777

1

中找到另一種方法是在「ProductPage」下創建「Product Example Test」內容項目作爲子項目。在發佈選項中,您可以使用發佈子項目,發佈所有您想要的內容。 但問題是,如果你想在幾個地方共享一個特定的內容,這是行不通的。 Maras的答案是更好的解決方案。

相關問題