2013-05-07 59 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(); 
    } 
}