2012-10-21 12 views
5

मेरे पास एक कस्टम फ़िल्टर कुछ सामान है।सिम्फनी में: फ़िल्टर श्रृंखला से मॉड्यूल को कैसे बाहर निकालें

और मैं फ़िल्टर श्रृंखला में विशिष्ट मॉड्यूल शामिल नहीं करना चाहता हूं। एक और शब्द में, इस मॉड्यूल के लिए मैं चाहता हूं कि मेरा कस्टम फ़िल्टर इस मॉड्यूल पर निष्पादित न हो और अन्य मॉड्यूल के लिए निष्पादित न हो।

उत्तर

3

मैं भी कस्टम फ़िल्टर का उपयोग करें और इस फिल्टर के अंदर आप वर्तमान मॉड्यूल को पुनः प्राप्त कर सकते हैं:

customFilter: 
    class: customFilter 
    param: 
    module_excluded: moduleName 

और अंदर:

<?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 
    } 
} 

अन्यथा, आप भी filters.yml फाइल के अंदर बाहर रखा मॉड्यूल दे सकते हैं कक्षा:

<?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

ग्रेट, यह मेरे लिए काम करता है लेकिन इस सह को बनाने के लिए थोड़ा बदलाव है de work ---> filter.yml ---> यह "param:" नहीं "params:" –

+0

आप सही हैं, मैंने इसे ठीक किया है। – j0k

संबंधित मुद्दे