名前を渡してフィルターを呼び出すフィルターを作成する必要があります。
拡張機能の最初の書き方ここで読むことができます。
拡張機能を作成したと仮定すると、カスタム関数 (例: customFilter
) を定義したことになります。
//YourTwigFilterExtension.php
public function getFunctions()
{
return array(
...
'custom_filter' => new \Twig_Function_Method($this, 'customFilter'),
);
}
次に、この関数を定義する必要があります
public function customFilter($context, $filterName)
{
// handle parameters here, by calling the
// appropriate filter and pass $context there
}
この操作の後、Twig で呼び出すことができるようになります:
{% for item in items %}
{{ custom_filter(item.value, item.filter)|raw }}
{% endfor %}
または、フィルターを (関数としてではなく) フィルターとして定義した場合:
{% for item in items %}
{{ item.value|custom_filter(item.filter)|raw }}
{% endfor %}