2010-03-16 4 views
0

R1, R2 및 R3이라는 조리법이 포함 된 All Recipes라는 항목이 있습니다. My Recipes라는 또 다른 항목에는 Recipes라는 트리리스트 필드가 있으며 All Recipes 항목에서 선택한 값 R2 및 R3이 포함되어 있습니다. 작성하려고하는 쿼리는 RSS 피드의 항목 필드에 대한 것입니다.

내 조리법의 요리법 필드에 표시되는 모든 요리법의 항목을 표시하는 쿼리 구문은 무엇입니까?트리리스트 값을 사용하여 Sitecore 항목 쿼리

답변

1

Sitecore Query로 수행 할 수 없습니다. 대신 Sitecore.Syndication.PublicFeed을 확장하고 GetSourceItems()을 재정의하는 맞춤형 피드 클래스를 만듭니다.

Utility.SitecoreLibrary.RSS Folder.MyCustomFeed, Utility.SitecoreLibrary


: 확장 성 섹션 사용자 정의 클래스, 입력 클래스 경로 및 어셈블리에서, 당신의 RSS 피드의 유형 필드 내부

public class MyCustomFeed : Sitecore.Syndication.PublicFeed 
{ 
    public override IEnumerable<Sitecore.Data.Items.Item> GetSourceItems() 
    { 
    Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master"); 
    Item contentFolder = master.GetItem("/sitecore/content/Home/MyContentFolder"); 

    //Do your processing here to get your feed items 

    //I'm just grabbing what's in the content folder, but it could be something complex. 
    ChildList cl = contentFolder.GetChildren(); 

    return cl; 
    } 
} 


예를 들면 다음과 같습니다이다 이 사용자 정의 클래스가 해당 위치를 차지하므로 RSS 피드의 항목 필드는 비워 둡니다.

0

xslt에서 이것을 작성하는 경우 sc:listfielditems('fieldname',$item)을 사용하여 트리스트리스트의 항목 집합을 가져올 수 있습니다. 그런 다음 for-each을 사용하여 반복 할 수 있습니다.

.net에서이 글을 쓰고 있다면, 나도 몰라.하지만 나는 그 사람을 알고 있고, 나는 그의 길을 보낼 것이다.

+0

RSS 피드의 항목 필드에 넣을 수있는 쿼리를 찾고 있습니다. "query :/sitecore/content/home/* [여기에서 항목을 가져 오기위한 쿼리]"형식의 내용입니다. –

0

SQL Server를 사용하고 있습니까? Sitecore 요리 책은 이런 식으로 뭔가를 조언 :

MyItems = GetSomeItems("/home/whatever/allrecipes"); 
foreach(Item item in MyItems) 
{ 
    if(item is in MyRecipes) 
     do something 
} 

추론이 MyRecipes 확인 복잡한 쿼리가 더 비용이 많이들 수있는 반면, 공급자가 최적화되어 어떤/allrecipes/홈/쿼리하는 것입니다.

Reference.

0

위의 아담의 글에 댓글을 달 수 없으므로 답변으로 남겨 둘 것입니다 : sc:listfielditems이라는 Sitecore 기능/메소드가 없습니다. 코드를 다시 확인할 수 있습니까?

관련 문제