簡単に動作するはずのものを手に入れるのに苦労しています。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 は呼び出されません。
これを機能させる方法はありますか?
ありがとう