我被告知要为inline editing
网站Sitecore
做一次。
它适用于像文章页面这样的简单页面。
<sc:text ID="sct1" ruat="server" ... />
但如果页面更复杂,那么现在就不可能了,我相信。
样本页面如..
About Us
将有3个不同的单选按钮。
根据所选按钮,将显示相应的内容。该内容实际上是About Us
的儿童内容。
如果我想要inline editing
,我必须检查它是否是editing mode
如果是这样,我可以显示所有3个设置内容。
用户可以编辑它。但是当他保存时,只保存主页面。子页面未保存。
我们有替代解决方案吗?
答案 0 :(得分:3)
您的断言不正确,当保存页面时,只保存正在呈现的项目。如果您使用字段渲染器从任何项目输出字段(如sc:text
幕后操作),Sitecore将跟踪该项目已被编辑,并保存所做的更改。
您可以在Item
上填充Datasource
或sc: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" />
您还可以在代码隐藏中填充Item
或Datasource
。
作为替代方案,利用自定义项生成器等框架创建一个.NET类,使您可以以支持内联编辑的方式轻松地从任何项输出字段值。
参考文献:
http://blog.velir.com/index.php/2010/10/19/custom-item-generator/