示例#1
0
 /**
  * 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')));
 }