2014-03-24 2 views
4

안녕하세요, 저는 Sitecore에서 버킷 항목과 관련하여 질문하고 있습니다. 나는 맨 위로 버킷 '뉴스 개요'에가는 '테스트'세부 정보 페이지의 버튼을 만들려면Sitecore - 상위 버킷으로 돌아 가기

enter image description here

:

나는 다음과 같은 구조를 가지고있다.
일반적으로 내가 좋아하는 뭔가를 할 것이다 :

LinkManager.GetItemUrl(Sitecore.Context.Item.Parent) 

여기서 문제는 직접 부모가 '뉴스 개요'버킷 '44'이고하지 않는 것이 있습니다.
개요 버킷에 대한 링크를 만드는 가장 좋은 방법은 무엇입니까?

미리 감사드립니다.

답변

10

있습니다 Sitecore에 사용할 수 있어야 현재 항목의 버킷 항목을 제공하는 Item의 확장 메소드.

해당 Sitecore.Buckets.Extensions 네임 스페이스 Sitecore.Buckets.dll 어셈블리에 있습니다.

이처럼 사용할 수 있습니다

var bucketItem = Sitecore.Context.Item.GetParentBucketItemOrParent(); 
var urlToBucket = LinkManager.GetItemUrl(bucketItem); 

또한 항목이 양동이에 포함되어 있는지 확인하기 위해 BucketManager를 사용할 수 있습니다

BucketManager.IsItemContainedWithinBucket(Sitecore.Context.Item) 
+0

을 내가 찾던 정확히 무엇을! 고마워 –

1

[Sitecore.Data.Items.Item].Parent을 재귀 적으로 호출하여 찾고있는 템플리트 ID이거나 버킷 폴더의 템플리트 ID와 다른 템플리트 ID를 가진 항목에 도달 할 때까지 매번 점검을 수행 할 수 있습니다.

또는 [Sitecore.Data.Items.Item].Axes.GetAncestors()을 사용할 수도 있지만 Item의 모든 상위 항목을 위에서 아래로 반환합니다. 실제로 이와 같이 Sitecore 7에 변화가 없었다 서로에 액세스하기위한

부모/자식 관계 및 방법과 기술, 당신은 Sitecore 6에 사용되는 기술은 여전히 ​​7.

관련 문제