Sitecore内联编辑其他项目

时间:2013-01-21 05:06:06

标签: asp.net sitecore

我被告知要为inline editing网站Sitecore做一次。

它适用于像文章页面这样的简单页面。

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

但如果页面更复杂,那么现在就不可能了,我相信。

样本页面如..

About Us将有3个不同的单选按钮。

根据所选按钮,将显示相应的内容。该内容实际上是About Us的儿童内容。

如果我想要inline editing,我必须检查它是否是editing mode

如果是这样,我可以显示所有3个设置内容。

用户可以编辑它。但是当他保存时,只保存主页面。子页面未保存。

我们有替代解决方案吗?

1 个答案:

答案 0 :(得分:3)

您的断言不正确,当保存页面时,只保存正在呈现的项目。如果您使用字段渲染器从任何项目输出字段(如sc:text幕后操作),Sitecore将跟踪该项目已被编辑,并保存所做的更改。

您可以在Item上填充Datasourcesc:text媒体资源,以便从其他项目中修改字段。

数据绑定Item对象时的示例语法:

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

或者Datasource可用于绑定项目路径(不推荐)或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