/** * doActionSearch TODO refactor with XLite\Controller\Admin\ProductList::doActionSearch() * * @return void */ protected function doActionSearch() { $sessionCell = \XLite\View\ItemsList\Product\Customer\Search::getSessionCellName(); $searchParams = \XLite\View\ItemsList\Product\Customer\Search::getSearchParams(); $productsSearch = array(); $cBoxFields = array(\XLite\View\ItemsList\Product\Customer\Search::PARAM_SEARCH_IN_SUBCATS); foreach ($searchParams as $modelParam => $requestParam) { if (isset(\XLite\Core\Request::getInstance()->{$requestParam})) { $productsSearch[$requestParam] = \XLite\Core\Request::getInstance()->{$requestParam}; } } foreach ($cBoxFields as $requestParam) { $productsSearch[$requestParam] = isset(\XLite\Core\Request::getInstance()->{$requestParam}) ? 1 : 0; } \XLite\Core\Session::getInstance()->{$sessionCell} = $productsSearch; $this->setReturnURL($this->buildURL('search', '', array('mode' => 'search'))); }
/** * Return params list to use for search * TODO refactor * * @return \XLite\Core\CommonCell */ protected function getSearchCondition() { $result = parent::getSearchCondition(); foreach (\XLite\View\ItemsList\Product\Customer\Search::getSearchParams() as $modelParam => $requestParam) { $paramValue = $this->getParam($requestParam); if ('' !== $paramValue && 0 !== $paramValue) { $result->{$modelParam} = $paramValue; } } return $result; }
/** * doActionSearch TODO refactor with XLite\Controller\Admin\ProductList::doActionSearch() * * @return void */ protected function doActionSearch() { $sessionCell = \XLite\View\ItemsList\Product\Customer\Search::getSessionCellName(); $searchParams = \XLite\View\ItemsList\Product\Customer\Search::getSearchParams(); $advancedParams = array_diff(\XLite\View\ItemsList\Product\Customer\Search::getSearchParams(), \XLite\View\ItemsList\Product\Customer\Search::getBasicSearchParams()); $productsSearch = array(); $cBoxFields = array(\XLite\View\ItemsList\Product\Customer\Search::PARAM_SEARCH_IN_SUBCATS); $showAdvancedPanel = false; foreach ($searchParams as $modelParam => $requestParam) { if (isset(\XLite\Core\Request::getInstance()->{$requestParam})) { $productsSearch[$requestParam] = \XLite\Core\Request::getInstance()->{$requestParam}; $showAdvancedPanel = true; } } foreach ($cBoxFields as $requestParam) { $productsSearch[$requestParam] = isset(\XLite\Core\Request::getInstance()->{$requestParam}) ? 1 : 0; } \XLite\Core\Session::getInstance()->{$this->getAdvancedPanelCellName()} = array_intersect(array_keys($productsSearch), array_values($advancedParams)); \XLite\Core\Session::getInstance()->{$sessionCell} = $productsSearch; $this->setReturnURL($this->buildURL('search', '', array('mode' => 'search'))); }
/** * Define so called "request" parameters * * @return void */ protected function defineRequestParams() { parent::defineRequestParams(); $this->requestParams = array_merge($this->requestParams, \XLite\View\ItemsList\Product\Customer\Search::getSearchParams()); }