カスタムフィルターを呼び出すと、次のように失敗します。
[Twig_Error_Syntax] Unknown "snake_case" filter in "controller/controller.php.twig" at line 86.
サービスが登録されています:
services:
l91_sulu_backend.twig.converter.extension:
class: L91\Sulu\Bundle\BackendBundle\Twig\ConverterTwigExtension
tags:
- { name: twig.extension }
それは下にリストされていますcontainer:debug
クラスは次のようになります。
<?php
namespace L91\Sulu\Bundle\BackendBundle\Twig;
class ConverterTwigExtension extends \Twig_Extension
{
/**
* {@inheritdoc}
*/
public function getFilters()
{
return [
new \Twig_SimpleFilter('snake_case', [$this, 'snakeCaseFilter']),
];
}
/**
* @param string $input
*
* @return string
*/
public function snakeCaseFilter($input)
{
return strrev($input); // just to test
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'l91_sulu_backend_converter';
}
}
私のフィルターもtwig:debug
リストアップしてください。snake_case
twig ファイルは、symfony コマンドによって呼び出されるジェネレーターによってレンダリングされます。
そして、ここでフィルターの呼び出し
'{{ translatePrefix }}.{{ column|snake_case }}',