/** * Get pager url with specific params * * @param array $params * * @return string */ public function getPagerUrl($params = array()) { if (!$this->_handler || !$this->_handler->getPaging()) { return parent::getPagerUrl($params); } $pageNum = $params['p']; if (!isset($this->_pagingUrls[$pageNum])) { $this->_pagingUrls[$pageNum] = ''; /** @var \FACTFinder\Data\Page $pageItem */ foreach ($this->_handler->getPaging() as $pageItem) { if ($pageItem->getPageNumber() == $pageNum) { $this->_pagingUrls[$pageNum] = $pageItem->getUrl(); break; } } } return $this->_pagingUrls[$pageNum]; }
/** * Get current order * * @return string * * @throws \Exception */ protected function _getSelectedOrder() { if ($this->_handler && $this->_handler->getSorting()) { $sortings = $this->_handler->getSorting(); $this->getRequest()->getQuery(); /** @var \FACTFinder\Data\Item $sorting */ foreach ($sortings as $sorting) { if ($sorting->isSelected()) { $url = $sorting->getUrl(); preg_match('/[\\?|\\&]{1}sort([a-z\\_]*?)=/', $url, $matches); if (isset($matches[1])) { return $matches[1]; } } } } return $this->_orderField; }
/** * Prepare all request parameters for the search adapter * * @return array */ protected function _collectParams() { $params = parent::_collectParams(); if (Mage::app()->getRequest()->getModuleName() == 'catalog') { if (!Mage::app()->getRequest()->getParam('advisorStatus')) { $params = array_merge($params, $this->getCurrentFactFinderCategoryPath()); } $params['navigation'] = 'true'; } return $params; }
/** * Class constructor * * @param array $productIds */ public function __construct($productIds) { $this->_productIds = $productIds; parent::__construct(); }