有没有办法创建一个只能用于特定功能的Twig过滤器,但没有别的?
例如,假设我有自定义函数集合(),当我对它应用“排序”过滤器时,它将在扩展类中使用过滤函数“sort”而不是默认的twig“sort”过滤器?
答案 0 :(得分:0)
根据输入类型,无法使用内置过滤器或自定义过滤器。
我的建议是创建一个自定义my_sort
过滤器,根据您的需要使用不同的行为。
sort()
方法sort
过滤器的行为。类似的东西:
public function getFilters()
{
return array(
'my_sort' => new \Twig_Filter_Method($this, 'my_sort'),
);
}
public function my_sort($stuff)
{
if (is_array($stuff))
{
sort($stuff);
}
else if ((is_object($stuff)) && ($stuff instanceof Collection))
{
$stuff->sort();
}
}