【发布时间】:2015-11-13 00:01:23
【问题描述】:
我找到了一些过滤示例,但还不够清楚,无法回答我的问题。我有以下功能来获取我的孙子页面。我正在尝试计算它们,但只有如果它们符合某些标准。在我的情况下,如果他们没有有 X、Y、Z,那么将它们包括在计数中。
换句话说,想要向函数添加一个参数列表/数组,如果 ANY 为真,则不要包含它们并将它们过滤掉。例如,如果DealerOnly = true 忽略。
我考虑在模板中执行此操作并使用 if / else 但计数不会像这样显示,所以我没有走那条路。
欢迎使用其他方法。
<% loop $GrandChildren %>$Count<% end_loop %>
可能的帮助: http://www.silverstripe.org/community/forums/data-model-questions/show/23507
这里的文档:(虽然不是我需要的) https://docs.silverstripe.org/en/3.1/developer_guides/model/searchfilters/
我的函数返回我的孙子页面。
public function getGrandChildren() {
$ids = Page::get()->filter(array('ParentID' => $this->ID))->getIDList();
$grandChildren = Page::get()->filter(array(
'ParentID' => $ids
));
return $grandChildren;
}
在我计算所有页面的模板中
$GrandChildren.Count
【问题讨论】:
标签: php function count filtering silverstripe