현재 이 코드는 컨텐트 페이지에 적용된 컨트롤 리스트 들을 보여주는 것이다. 간혹, 프리젠테이션 디테일에 적용된 sublayout리스트 들을 불러야 할 경우가 생기는데, 이럴 경우 아래의 코드를 이용하여 적용되어진 컨트롤 리스트들을 출력할수가 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // 디바이스에 적용된 모든 sublayout 리스트 출력 public RenderingReference[] GetListOfSublayouts(string itemId, Item targetItem) { RenderingReference[] renderings = null; if (Sitecore.Data.ID.IsID(itemId)) { renderings = targetItem.Visualization.GetRenderings(Sitecore.Context.Device, true); } return renderings; } // 프리젠테이션 디테일에 적용되어진 렌더링 정보를 가져옴 public List<RenderingItem> GetListOfDataSource(RenderingReference[] renderings) { List<RenderingItem> ListOfDataSource = new List<RenderingItem>(); foreach (RenderingReference rendering in renderings) { if (!String.IsNullOrEmpty(rendering.Settings.DataSource)) { ListOfDataSource.Add(rendering.RenderingItem); } } return ListOfDataSource; } RenderingReference[] renderings = GetListOfSublayouts(targetItem.ID.ToString(), targetItem); List<RenderingItem> ListOfDataSource = GetListOfDataSource(renderings); |