1

カスタムフィルターを呼び出すと、次のように失敗します。

  [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 }}',
4

1 に答える 1