레이블이 Fast Query인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Fast Query인 게시물을 표시합니다. 모든 게시물 표시

2017년 5월 25일 목요일

사이트코어 8.0에서 Sitecore Developer Center 및 XPath Builder 접근하기

사이트코어 8.0부터 기존에 Control Panel또는 데스트탑 모드에서 제공되었던 Developer Center기능이 사라졌다. 하지만, 아래의 URL을 직접 입력함으로써, XPath Builder 기능 또는 File Explorer등의 기능을 사용할수가 있다.

http(s)://yourdomain/sitecore/shell/default.aspx?xmlcontrol=IDE

Sitecore Developer Center

Sitecore XPath Builder


참고로, 사이트코어에서 아이템을 찾거나 검색을 하는데, Fast Query는 아주 유용하게 쓰인다. Fast Query는 SQL 엔진을 사용함으로써, 검색 수행 능력을 향상시킬뿐 아니라, 아이템의 결과 값만 검색하므로 캐쉬 메모리에 불필요한 정보를 저장하지 않는다.

Sitecore Fast Query Cheat Sheet
http://sitecoreworld.blogspot.com/2014/09/querying-items-from-sitecore.html


2016년 9월 28일 수요일

Rendering Item 정보 가져오기

새로운 Rendering 아이템을 만들다 보면, 페이지 아이템에 적용되어져있는 Control을 찾아야 하는경우가 있다. 이럴경우 Fast Query 또는 LINQ를 통하여 레이아웃에 적용되어진 모든 Rendering 아이템 정보를 가져올수가 있다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// 현재 페이지에 적용되어진 모든 렌더링 아이템 가져오기
IEnumerable<RenderingReference> renderings = Context.Item.Visualization.GetRenderings(Context.Device, false);
               
// 해당 렌더링 아이템 아이디를 사용하고 있는 모든 렌더링 아이템 정보 가져오기
renderings = renderings.Where(x => x.RenderingID == RenderingContext.Current.Rendering.RenderingItem.ID);
               
// 해당 Placeholder에 사용되고 있는 모든 렌더링 아이템정보 가져오기
renderings = renderings.Where(x => x.Placeholder.TrimStart('/') == RenderingContext.Current.Rendering.Placeholder.TrimStart('/'));

// 현재 렌더링아이템의 인덱스 값 가져오기
var index = renderings.ToList().FindIndex(x => new Guid(x.UniqueId) == RenderingContext.Current.Rendering.UniqueId);