我正在努力获得应该易于工作的东西。我在 silverstripe 模板文件中尝试了以下操作但没有成功:
<% if $objectCount > 10 %>
我在 silverstripe 上读过另一个人有同样问题但没有令人满意的答案(http://www.silverstripe.org/template-questions/show/10053)所以我想同时想出一个替代方案基本方法:
<% if $objectCountGreaterThanTen %>
所以我实现了一个隐藏条件逻辑的简单类,如下所示:
class EvaluateLogic extends DataObject {
public function greaterThan($exp, $x) {
print_r('calling logic.greaterThan()');
return $exp > $x;
}
public function lessThan($exp, $x) { return $exp < $x; }
...
}
然后我在模板中使用的 DataObject 类中实例化一个 EvaluateLogic 成员(名为 $logic),方法是:
<% if $logic.greaterThan($objectCount, 10) %>
但是由于某些原因, .greaterThan() 调用被忽略了。我不明白吗?为了划分问题,我在我的 DataObject 中创建了一个 getLogic() 访问器来打印一些东西,看看是否到达了代码,它是,但是没有调用大于函数中的 print_r。
任何想法如何使这项工作?
谢谢