2012-10-21 25 views
5

Tôi có bộ lọc tùy chỉnh thực hiện một số nội dung.Trong Symfony: Cách loại trừ mô-đun khỏi chuỗi bộ lọc

Và tôi muốn mô-đun cụ thể không được bao gồm trong chuỗi bộ lọc. Trong một từ khác, cho mô-đun này tôi muốn bộ lọc tùy chỉnh của tôi không thực thi trên mô-đun này và thực hiện cho các mô-đun khác.

Trả lời

3

tôi sử dụng bộ lọc tùy chỉnh quá và bên trong bộ lọc này bạn có thể lấy các module hiện tại:

<?php 

class customFilter extends sfFilter 
{ 
    public function execute ($filterChain) 
    { 
    $context = $this->getContext(); 

    if ('moduleName' == $context->getModuleName()) 
    { 
     // jump to the next filter 
     return $filterChain->execute(); 
    } 

    // other stuff 
    } 
} 

Nếu không, bạn cũng có thể cung cấp cho các mô-đun loại trừ bên trong filters.yml file:

customFilter: 
    class: customFilter 
    param: 
    module_excluded: moduleName 

Và bên trong lớp học:

<?php 

class customFilter extends sfFilter 
{ 
    public function execute ($filterChain) 
    { 
    $context = $this->getContext(); 

    if ($this->getParameter('module_excluded') == $context->getModuleName()) 
    { 
     // jump to the next filter 
     return $filterChain->execute(); 
    } 

    // other stuff 
    } 
} 
+2

Tuyệt vời, điều đó phù hợp với tôi nhưng có một chút sửa đổi để thực hiện việc này de công việc ---> bên trong filters.yml ---> đó là "param:" không "params:" –

+0

Bạn nói đúng, tôi đã sửa nó. – j0k