MetaModels\BackendIntegration\SearchablePages::setFilterParameters PHP Метод

setFilterParameters() публичный Метод

Set parameters.
public setFilterParameters ( string $filterId, string[] $presets, string[] $values ) : array
$filterId string The id of the filter.
$presets string[] The parameter preset values to use.
$values string[] The dynamic parameter values that may be used.
Результат array
    public function setFilterParameters($filterId, $presets, $values)
    {
        $filterSettings = $this->getFilterSettings($filterId);
        $presetNames = $filterSettings->getParameters();
        $feFilterParams = array_keys($filterSettings->getParameterFilterNames());
        $processed = array();
        // We have to use all the preset values we want first.
        foreach ($presets as $strPresetName => $arrPreset) {
            if (in_array($strPresetName, $presetNames)) {
                $processed[$strPresetName] = $arrPreset['value'];
            }
        }
        // Now we have to use all FE filter params, that are either:
        // * not contained within the presets
        // * or are overridable.
        foreach ($feFilterParams as $strParameter) {
            // Unknown parameter? - next please.
            if (!array_key_exists($strParameter, $values)) {
                continue;
            }
            // Not a preset or allowed to override? - use value.
            if (!array_key_exists($strParameter, $presets) || $presets[$strParameter]['use_get']) {
                $processed[$strParameter] = $values[$strParameter];
            }
        }
        return $processed;
    }