Content management system Silverstripe在sitetree的所有子级上循环

Content management system Silverstripe在sitetree的所有子级上循环,content-management-system,silverstripe,Content Management System,Silverstripe,我正在尝试创建站点树所有子级的站点地图。对于某些页面,ShowInMenu设置为false。但这些页面仍然应该显示在网站上。我知道您可以这样循环页面的所有子项(忽略ShowInMenu): $Title 我可以在sitetree的顶层执行类似的操作吗 Thx, Florian我不知道您可以使用什么内置循环来实现这一点,但您可以使用php public function AllPagesWithParentIDZero() { return SiteTree::get()->fi

我正在尝试创建站点树所有子级的站点地图。对于某些页面,ShowInMenu设置为false。但这些页面仍然应该显示在网站上。我知道您可以这样循环页面的所有子项(忽略ShowInMenu):


$Title
我可以在sitetree的顶层执行类似的操作吗

Thx,
Florian

我不知道您可以使用什么内置循环来实现这一点,但您可以使用php

public function AllPagesWithParentIDZero() {
    return SiteTree::get()->filter('ParentID', 0);
}
并在模板中使用

<% loop $AllPagesWithParentIDZero %>
    <a href="$Link">$Title</a>
<% end_loop %>


thx AJ是清理它的缩写-我发布答案时迟到了。可以工作,只需过滤掉错误页面,我可以很快检查。thxforeach(SiteTree::get()->filter('ParentID',0)作为$RootPage),正是我所需要的,谢谢@munomono
<% loop $AllPagesWithParentIDZero %>
    <a href="$Link">$Title</a>
<% end_loop %>