【发布时间】:2012-03-07 15:57:34
【问题描述】:
有谁知道如何从 Sitecore 项目中删除渲染?
我想删除所有子布局,以便用新的集合替换它们。 我有tried this,但它似乎不起作用。该项目没有任何变化。
我似乎能够得到这样的效果图:
RenderingReference[] renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);
但似乎没有办法设置它们。
我也可以得到这样的效果图(来自上面的链接):
LayoutDefinition layoutDefinition = LayoutDefinition.Parse(LayoutField.GetFieldValue(item.Fields[Sitecore.FieldIDs.LayoutField]));
DeviceDefinition device = layoutDefinition.GetDevice(Sitecore.Context.Device.ID.ToString());
if (device.Layout != null) device.Layout = null;
if (device.Renderings != null) device.Renderings = new ArrayList();
但这又是行不通的。从 layoutDefinition 中清除设备并设置修改后的设备会导致此异常:No connection could be made because the target machine actively refused it。而且我现在根本无法查看该项目!
我觉得我找错了树,有什么想法吗?
使用 Sitecore 6.4
更新回复:techphoria414
我试过的代码:
layoutDefinition.Devices.Clear();
layoutDefinition.Devices.Add(device);
【问题讨论】:
-
您能否提供用于将更改保存回字段的代码以及异常的完整堆栈跟踪?
标签: c# .net sitecore sitecore6