src/Filter/Setting/SimpleLookup.php
public function prepareRules(IFilter $objFilter, $arrFilterUrl)
    {
        $objMetaModel = $this->getMetaModel();
        $objAttribute = $this->getFilteredAttribute();
        $strParam     = $this->getParamName();

        if ($objAttribute && $strParam) {
            if ($arrFilterValue = $this->determineFilterValue($arrFilterUrl, $strParam)) {
                if ($objMetaModel->isTranslated() && $this->get('all_langs')) {
                    $arrLanguages = $objMetaModel->getAvailableLanguages();
                } else {
                    $arrLanguages = array($objMetaModel->getActiveLanguage());
                }
                $objFilterRule = new FilterRuleSimpleLookup($objAttribute, $arrFilterValue, $arrLanguages);
                $objFilter->addFilterRule($objFilterRule);
                return;
            }

            // We found an attribute but no match in URL. So ignore this filter setting if allow_empty is set.
            if ($this->allowEmpty()) {
                $objFilter->addFilterRule(new FilterRuleStaticIdList(null));
                return;
            }
        }
        // Either no attribute found or no match in url, do not return anything.
        $objFilter->addFilterRule(new FilterRuleStaticIdList(array()));
    }
public function prepareRules(IFilter $objFilter, $arrFilterUrl)
    {
        $objMetaModel = $this->getMetaModel();
        $objAttribute = $this->getFilteredAttribute();
        $strParam     = $this->getParamName();

        if ($objAttribute && $strParam) {
            if ($arrFilterValue = $this->determineFilterValue($arrFilterUrl, $strParam)) {
                if ($objMetaModel->isTranslated() && $this->get('all_langs')) {
                    $arrLanguages = $objMetaModel->getAvailableLanguages();
                } else {
                    $arrLanguages = array($objMetaModel->getActiveLanguage());
                }
                $objFilterRule = new FilterRuleSimpleLookup($objAttribute, $arrFilterValue, $arrLanguages);
                $objFilter->addFilterRule($objFilterRule);
                return;
            }

            // We found an attribute but no match in URL. So ignore this filter setting if allow_empty is set.
            if ($this->allowEmpty()) {
                $objFilter->addFilterRule(new FilterRuleStaticIdList(null));
                return;
            }
        }
        // Either no attribute found or no match in url, do not return anything.
        $objFilter->addFilterRule(new FilterRuleStaticIdList(array()));
    }
public function prepareRules ( IFilter $ objFilter , $ arrFilterUrl ) { $ objMetaModel = $ this -> getMetaModel ( ) ; $ objAttribute = $ this -> getFilteredAttribute ( ) ; $ strParam = $ this -> getParamName ( ) ; if ( $ objAttribute && $ strParam ) { if ( $ arrFilterValue = $ this -> determineFilterValue ( $ arrFilterUrl , $ strParam ) ) { if ( $ objMetaModel -> isTranslated ( ) && $ this -> get ( 'all_langs' ) ) { $ arrLanguages = $ objMetaModel -> getAvailableLanguages ( ) ; } else { $ arrLanguages = array ( $ objMetaModel -> getActiveLanguage ( ) ) ; } $ objFilterRule = new FilterRuleSimpleLookup ( $ objAttribute , $ arrFilterValue , $ arrLanguages ) ; $ objFilter -> addFilterRule ( $ objFilterRule ) ; return ; } // We found an attribute but no match in URL. So ignore this filter setting if allow_empty is set. if ( $ this -> allowEmpty ( ) ) { $ objFilter -> addFilterRule ( new FilterRuleStaticIdList ( null ) ) ; return ; } } // Either no attribute found or no match in url, do not return anything. $ objFilter -> addFilterRule ( new FilterRuleStaticIdList ( array ( ) ) ) ; }
{@inheritdoc}
{