获取Umbraco中子节点的所有根节点的列表

时间:2016-11-25 06:34:01

标签: umbraco

我有三种文档类型及其相应的模板。我的树如下所示。

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

“视频列表”页面列出了“视频项目”模板中的所有项目。 Item Details是Video Item模板的子节点。我希望项目详细信息页面中的视频项目中的所有节点。

我试过以下代码。但它显示为Xpath需要一些程序集引用。

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

请帮忙

2 个答案:

答案 0 :(得分:1)

这个并不难做到。在@Ancestor循环中使用@Children然后@foreach。阅读更多关于在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。

答案 1 :(得分:0)

我有一个解决方案。这是我的代码:

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

但这是获取父节点的正确方法吗?