我有三种文档类型及其相应的模板。我的树如下所示。
1. Video List
2. Video Item
3. Item Details
“视频列表”页面列出了“视频项目”模板中的所有项目。 Item Details是Video Item模板的子节点。我希望项目详细信息页面中的视频项目中的所有节点。
我试过以下代码。但它显示为Xpath需要一些程序集引用。
Model.Content.XPath("//*[@isDoc and @level = 1]");
请帮忙
答案 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());
但这是获取父节点的正确方法吗?