0
iはtwig(symfony3)にカスタム関数を追加するにはどうしたらいいですか?
//app/config/services.yml
services:
TwigEkler:
class: MainBundle\Twig\TwigEkler
tags:
- { name: TwigEkler }
をservice.ymlためにこのコードを追加し、このファイル
//src/MainBundle/Twig/TwigEkler.php
<?
namespace MainBundle\Twig;
class TwigEkler extends \Twig_Extension
{
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('gecis', array($this, 'gecisFunction')),
);
}
public function gecisFunction($param)
{
if ($param == '4') {
return 'FAT';
} else {
return '';
}
}
public function getName()
{
return 'TwigEkler';
}
}?>
を作成し、小枝
{{ gecis(level) }}
でそれを使用するが、私はこのエラー
を取得していますリクエスト.CRIT ICAL:未知のPHP例外Twig_Error_Syntax: "不明な " gecis/gecis.html.twig "の24行目の" gecis "関数。 (オブジェクト)(Twig_Error_Syntax(code:0):不明) C:\ wamp64 \ www \ deneme \ vendor \ twig \ twig \ lib \ Twig \ ExpressionParser.php行 573 {"例外" "関数の\" gecis/gecis.html.twig \ "の行24にある C:¥wamp64¥www¥deneme¥vendor¥twig¥twig¥lib¥Twig¥ExpressionParser.php:573)"}
私の間違いはどこですか?
あなたのエラーはあなたのタグの宣言で使用されていると思います。 [cookbook](http://symfony.com/doc/current/templating/twig_extension.html)から – ciurciurek
にタグ名を置き換えてみてください – DarkBee
遅れて申し訳ありませんが、doctrineは私を夢中にしています:) @ ciurciurek; ;変更されたことはありません。 "[Symfony \ Component \ Debug \ Exception \ ClassNotFoundException] 名前空間" MainBundle \ Twig "からクラス" TwigEkler "を読み込もうとしました 別の名前空間に" use "ステートメントを忘れましたか? ? " [at] DarkBee;私は指示を読んだが、成功しなかった:( –