2013-01-21 34 views
1

我被告知要爲Sitecore網站做inline editingSitecore的在線編輯

它正在像文章頁面的簡單頁面。

<sc:text ID="sct1" ruat="server" ... />

但是,如果頁面比較複雜,現在是不可能的,我相信。

認字如..

About Us將有3個不同的單選按鈕。

根據所選擇的按鈕時,相應的內容將顯示。該內容實際上是兒童內容About Us

如果我想inline editing,我要檢查它是否是editing mode

如果是的話,我可以顯示所有3項集內容。

用戶可以編輯它。但是當他保存時,只保存主頁面。子頁面不會被保存。

我們有對於一個替代的解決方案?

回答

3

你的說法是不正確,當頁面被保存,只有所呈現的項目將被保存。如果您使用字段渲染器從任何項目輸出字段(如sc:text在幕後),則Sitecore將跟蹤該項目已編輯,並保存所做的更改。

您可以填寫ItemDatasource屬性sc:text以便編輯另一個項目的字段。當數據綁定Item對象

示例語法:

<sc:Text runat="server" ID="uxNameText" Field="Name" Item="<%#Container.DataItem%>" /> 

或者數據源可以被用於結合的項目路徑(不推薦)或ID(好一點):

<sc:Link Field="Link" DataSource="/sitecore/content/home" runat="server" /> 

您也可以在代碼隱藏中填充ItemDatasource

作爲替代,利用框架,如自定義項生成器來創建一個.NET類,允許你在任何項目中,將支持在線編輯的方式輕鬆輸出字段值。

參考文獻:

http://blog.velir.com/index.php/2010/10/19/custom-item-generator/

http://www.techphoria414.com/Blog?tag=custom+item+generator

+0

我會用我不認爲'自定義項Generator'的網站已經一半做,我不能去trac.sitecore。淨安裝包。那麼,我必須對所有服務器控件使用'Sitecore controls'來編輯?你的答案是否意味着這段代碼可以在'inlie editing'中工作? '' – william

+0

是的,你有它。我更詳細地更新了我的答案。 根據您的項目時間表,您可能會考慮重構使用自定義項目。你將來的自我和維護你的代碼的其他人會感謝你。 – techphoria414

+0

所有trac參考需要更新到新的Sitecore市場...現在可以找到自定義項目生成器:http://marketplace.sitecore.net/en/Modules/Custom_Item_Generator.aspx – jammykam