Tudja valaki, hogyan lehet eltávolítani a rendereléseket egy Sitecore elemről?
El akarom távolítani az összes alelrendezést, hogy lecserélhessem őket egy új készletre. Megpróbáltam ezt de úgy tűnik, nem működik. Semmi sem változik az elemen.
Úgy tűnik, hogy a következőképpen tudom megjeleníteni:
RenderingReference[] renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);
De úgy tűnik, nincs mód ezek beállítására.
A rendereléseket így is megkapom (a fenti linkről):
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();
De ez megint nem működik. Az eszköz törlése a layoutDefinition és a módosított beállításból a következő kivételhez vezetett: No connection could be made because the target machine actively refused it
. És most egyáltalán nem tudom megnézni a tételt!
Úgy érzem, rossz fát ugatok, van ötletetek?
A Sitecore 6.4 használata
FRISSÍTÉS Re: techphoria414
Kód, amit kipróbáltam:
layoutDefinition.Devices.Clear();
layoutDefinition.Devices.Add(device);
LayoutDefinition
tartalmazza a megjelenítés részleteit. Ezt nagyon jó tudni! 07.03.2012