如何获得 child 的 child ? Umbraco 内容管理系统
How to get a child of child ? Umbraco CMS
我正在尝试获取页面下文件夹中所有 child 页面的集合。但是,我正在努力解决这个问题 CurrentPage.Children returns 文件夹元素(如预期的那样)。
我正在尝试获取所有包裹(无论是国内包裹还是国际包裹都无所谓,只是让内容编辑者可以更好地输入内容)并在包裹页面上显示完整包裹文档类型中的几个字段。
实现此目标的最佳且简洁的方法是什么?
谢谢,
维沙
我找到了解决方法,但不是最好的方法,所以仍在寻找好的答案。我使用了以下内容:
foreach (var item in CurrentPage.Children)
{
foreach (var package in item.Children())
{
<h2>@package.PackageName</h2>
}
}
一种方法是在页面级别上获取后代和过滤器。
@{
foreach (var childchild in CurrentPage.Descendants().Where("Level == " + (CurrentPage.Level+2)))
{
<h2>@childchild.Level @childchild.Name</h2>
}
}
也可以根据文档类型进行过滤,以确保您只获得所需的类型。 (包裹文件类型)
添加这样的东西。 .Where("DocumentTypeAlias == \"Package\"")
合并:
.Where("DocumentTypeAlias == \"Package\" && Level == " + (CurrentPage.Level+2))
我正在尝试获取页面下文件夹中所有 child 页面的集合。但是,我正在努力解决这个问题 CurrentPage.Children returns 文件夹元素(如预期的那样)。
我正在尝试获取所有包裹(无论是国内包裹还是国际包裹都无所谓,只是让内容编辑者可以更好地输入内容)并在包裹页面上显示完整包裹文档类型中的几个字段。
实现此目标的最佳且简洁的方法是什么?
谢谢, 维沙
我找到了解决方法,但不是最好的方法,所以仍在寻找好的答案。我使用了以下内容:
foreach (var item in CurrentPage.Children)
{
foreach (var package in item.Children())
{
<h2>@package.PackageName</h2>
}
}
一种方法是在页面级别上获取后代和过滤器。
@{
foreach (var childchild in CurrentPage.Descendants().Where("Level == " + (CurrentPage.Level+2)))
{
<h2>@childchild.Level @childchild.Name</h2>
}
}
也可以根据文档类型进行过滤,以确保您只获得所需的类型。 (包裹文件类型)
添加这样的东西。 .Where("DocumentTypeAlias == \"Package\"")
合并:
.Where("DocumentTypeAlias == \"Package\" && Level == " + (CurrentPage.Level+2))