Sitecore 항목에서 렌더링을 제거하는 방법을 아는 사람이 있습니까?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
를 사용
는UPDATE 재 : techphoria414
코드 나는 시도 :
layoutDefinition.Devices.Clear();
layoutDefinition.Devices.Add(device);
변경 사항을 필드에 다시 저장하는 데 사용할 코드와 예외의 전체 스택 추적을 제공 할 수 있습니까? – techphoria414
내 질문이 업데이트되었습니다. – Jon