/** * Prepare all request parameters for the primary search adapter * * @return array */ protected function _collectParams() { // search Helper $helper = Mage::helper('factfinder/search'); $_request = Mage::app()->getRequest(); $requestParams = $this->_getFacade()->getClientRequestParams(); $searchParams = $this->_getFacade()->getSearchParams(); $params = array(); if (Mage::helper('factfinder')->isInternal()) { $params['log'] = 'internal'; } switch ($_request->getModuleName()) { case "xmlconnect": $_query = $helper->getQueryText(); $params['idsOnly'] = FF::getSingleton('configuration')->getIdsOnly() ? 'true' : 'false'; $params['query'] = $_query; $count = $searchParams->getProductsPerPage() ? $searchParams->getProductsPerPage() : 0; if ($count > 0) { $params['productsPerPage'] = $count; $params['page'] = $searchParams->getCurrentPage(); } // todo: make this work // add Sorting Param foreach ($searchParams->getSortings() as $key => $value) { if (substr($key, 0, 6) == 'order_') { $key = substr($key, 6); if (!in_array($key, array('position', 'relevance'))) { $params['sort' . $key] = $value; } } } break; case "catalogsearch": default: // add Default Params $params['idsOnly'] = $this->_getFacade()->getConfiguration()->getIdsOnly() ? 'true' : 'false'; $params['productsPerPage'] = $helper->getPageLimit(); if ($_request->getModuleName() == 'catalogsearch') { $params['query'] = $helper->getQueryText(); } $params['page'] = $helper->getCurrentPage(); if ($seoPath = Mage::app()->getRequest()->getParam('seoPath')) { $params['seoPath'] = $seoPath; } // add Sorting Param, but only if it was set explicitly via url if (isset($requestParams['order']) && $helper->getCurrentOrder() && $helper->getCurrentDirection() && $helper->getCurrentOrder() != 'position' && $helper->getCurrentOrder() != 'relevance') { $params['sort' . $helper->getCurrentOrder()] = $helper->getCurrentDirection(); } } if (Mage::helper('factfinder/debug')->isDebugMode()) { $params['verbose'] = 'true'; } if (Mage::getStoreConfigFlag('factfinder/config/personalization')) { $params['sid'] = Mage::helper('factfinder_tracking')->getSessionId(); } return $params; }