2013-05-07 40 views
0

有没有什么方法可以创建只能与特定功能一起使用的树枝过滤器?只能用于自定义扩展功能的树枝过滤器

例如让我说我有自定义函数集合(),当我应用“排序”过滤器它会使用过滤器功能“排序”在该扩展类不是默认的树枝“排序”过滤器?

回答

0

根据输入类型,无法使用内置过滤器或自定义过滤器。

我的建议是创建一个自定义的my_sort过滤器,根据您的需要会有不同的行为。

  • 如果变量是Colleciton的实例,那么你用一个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(); 
    } 
}