public function addCondition(OnlineShop_Framework_AbstractFilterDefinitionType $filterDefinition, OnlineShop_Framework_IProductList $productList, $currentFilter, $params, $isPrecondition = false) { $value = $params[$filterDefinition->getField()]; if ($value == OnlineShop_Framework_FilterService_AbstractFilterType::EMPTY_STRING) { $value = null; } else { if (empty($value) && !$params['is_reload']) { $value = $filterDefinition->getPreSelect(); if (is_object($value)) { $value = $value->getId(); } } } $currentFilter[$filterDefinition->getField()] = $value; if (!empty($value)) { $value = trim($value); $productList->addCondition($value, $filterDefinition->getField()); } return $currentFilter; }