如何在部分视图(剃须刀)中获取新闻项目(在标准项目中)的所有孩子?
我试过了:
@{
var homePage = CurrentPage.AncestorsOrSelf(1).First();
var newsItems = homePage.Children.Where(x => x.GetProperty("Name").Value == "News");
}
但是我得到一个错误,指出我不能做lambda表达式,而不是强制转换它。 "新闻"是我的网页中的一个节点,其中包含子节点,我想创建一个列出子节点的宏。如何以及我可以将它投射到什么地方?
答案 0 :(得分:1)
目前,您正在寻找主页的孩子,名为" News"。我想你想更深入一层。
我推荐这种方法:
// 1- Get root node
var site = Model.Content.AncestorOrSelf("Site");
// 2- Get news node
var news = site.Descendant("News");
var newsItems = news.Children;
在这里,您使用文档类型别名来遍历树,这比使用名称更可靠,因为它们可以更改。这当然可能需要重新修改一些元素。
希望这有帮助!
答案 1 :(得分:0)
尝试此操作以获取所有主页子节点的新闻节点:
var newsItems = homePage.Children.Where("Name = @0", "News");
然后遍历新闻的孩子们:
foreach (var newsChild in newsItems)
如果您已经知道新闻节点的ID,则可以跳过第一步:
var newsNode = Umbraco.Content(1234);
这个页面有很多例子: http://our.umbraco.org/documentation/reference/querying/DynamicNode/Collections#