【发布时间】:2013-07-12 18:22:32
【问题描述】:
我正在努力获得应该易于工作的东西。 我在 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() 访问器来打印一些东西,看看是否到达了代码,它是,但随后没有调用 greaterThan() 函数中的 print_r。
任何想法如何使这项工作?
谢谢
【问题讨论】:
-
妈的,我有点惭愧,错误就在我的眼皮底下。 内显然不允许有 $ 符号
标签: php templates conditional silverstripe