2016-11-25 225 views
0

我有三種文檔類型及其相應的模板。我的樹如下所示。從Umbraco的子節點獲取所有根節點的列表

1. Video List 
    2. Video Item 
     3. Item Details 

視頻列表頁面列出視頻項目模板中的所有項目。項目詳細信息是視頻項目模板的子節點。我需要「項目詳細信息」頁面中的視頻項目中的所有節點。

我已經嘗試了下面的代碼。但它顯示爲Xpath需要一些彙編參考。

Model.Content.XPath("//*[@isDoc and @level = 1]"); 

請幫

回答

1

這一個並不難。在@foreach循環中使用@Ancestor,然後使用@Children。閱讀Umbraco頁面上的更多關於Umbraco的信息。

假設我們在項目詳細信息模板(或頁面上,無論你想調用它),你需要列出你所有的父母和你父母的兄弟姐妹(如果我理解正確的話)。所以你去'祖父母',你問孩子:

@foreach (var item in Model.Content.Ancestor("VideoList").Children) 
    { 
     //do whatever you feel like in the collection. 
     //This foreach loop will list you all the Video Item nodes. 

    } 

P.S.我認爲VideoList是您的視頻列表頁面所具有的docTypeAlias。

0

我得到了一個解決方案。這裏是我的代碼:

var parentClass = Umbraco.TypedContent(Model.Content.Id).Parent.Parent.Children.Where(x => x.DocumentTypeAlias == "videoItem" && x.IsVisible()); 

但是,這是獲得父節點正確的方式?