2017-10-12 11 views
0

현재 Sitecore 내에서 자연 순서에 따라 Sitecore 항목을 반복 및 출력하는 웹 폼이 있습니다.Sitecore foreach하지만 날짜 필드별로 어린이 주문

사양이 각 항목에 대해 날짜 필드를 사용하도록 변경되었으며 이제는 가장 오래된 항목부터 정렬 순서를 결정합니다. 가장 쉬운 방법으로 반복 할 수 있지만 각 항목의 날짜 필드를 기준으로 먼저 목록을 정렬하는 것은 무엇입니까?

Sitecore.Collections.ChildList eventItems; 
eventItems = eventRange.GetChildren(); 

foreach (Item eventItem in eventItems) { 
    timelineHolder.InnerHtml += "<h3>" + eventItem.Fields["Title"] + "</h3>"; 
} 

덕분에 어떤 도움을

답변

0

그냥 foreach 루프에서 .OrderBy(ei => ei["EVENTDATE"])를 추가 :

Sitecore.Collections.ChildList eventItems; 
eventItems = eventRange.GetChildren(); 

foreach (Item eventItem in eventItems.OrderBy(ei => ei["EVENTDATE"])) 
{ 
    timelineHolder.InnerHtml += "<h3>" + eventItem.Fields["Title"] + "</h3>"; 
} 

날짜가

필드 이름은 EVENTDATE

페이지 사용하여 현재 행복했다입니다 Sitecore에 문자열로 저장 (Sitecore에서) 8은 20171012T000000Z이고, Sitecore 6에서는 더 짧은 형식입니다. 알파벳 순으로 날짜순으로 정렬합니다.

+0

빠른 답장을 보내 주셔서 감사합니다. – user3779703