嗨,大家好。Sitecore的 - 回到母鬥我有關於Sitecore的桶項的問題
我有以下結構:
我想創建一個可以追溯到上鬥「新聞綜述」的「測試」詳細信息頁面上的一個按鈕。
通常我會做這樣的事情:
LinkManager.GetItemUrl(Sitecore.Context.Item.Parent)
這裏的問題是,直接父是鬥「44」而不是「新聞綜述」。
什麼是創建一個鏈接到概覽桶的最佳方式?
在此先感謝!
嗨,大家好。Sitecore的 - 回到母鬥我有關於Sitecore的桶項的問題
我有以下結構:
我想創建一個可以追溯到上鬥「新聞綜述」的「測試」詳細信息頁面上的一個按鈕。
通常我會做這樣的事情:
LinkManager.GetItemUrl(Sitecore.Context.Item.Parent)
這裏的問題是,直接父是鬥「44」而不是「新聞綜述」。
什麼是創建一個鏈接到概覽桶的最佳方式?
在此先感謝!
有一個在向你當前項目的桶的項目的項目擴展方法。
其在Sitecore.Buckets.dll
裝配Sitecore.Buckets.Extensions
命名空間。
您可以使用它像這樣:
var bucketItem = Sitecore.Context.Item.GetParentBucketItemOrParent();
var urlToBucket = LinkManager.GetItemUrl(bucketItem);
您還可以使用BucketManager檢查項目包含一個內鬥:
BucketManager.IsItemContainedWithinBucket(Sitecore.Context.Item)
您可以遞歸調用[Sitecore.Data.Items.Item].Parent
並每次執行一次檢查,直到您找到具有模板標識的項目,該模板標識既可以是要查找的模板標識,也可以與存儲桶文件夾的模板標識不同。
或者,您也可以使用[Sitecore.Data.Items.Item].Axes.GetAncestors()
,但這會按照自上而下的順序返回所有Item
的祖先。
父/子關係,方法和技術,用於訪問彼此沒有在Sitecore的7真正改變這樣,您在Sitecore的6所使用的任何技術應該還是可用在Sitecore的7
正是我一直在尋找!謝謝 –