Esempio n. 1
0
 /**
  * Retrieve available limits for current view mode
  *
  * @return array
  */
 public function getAvailableLimit()
 {
     $availableLimit = parent::getAvailableLimit();
     $flChange = false;
     if (Mage::helper('searchanise')->checkSearchaniseIsRunning()) {
         if ($availableLimit) {
             $maxPageSize = Mage::helper('searchanise/ApiSe')->getMaxPageSize();
             if (array_key_exists('all', $availableLimit)) {
                 unset($availableLimit['all']);
                 $flChange = true;
             }
             foreach ($availableLimit as $key => $value) {
                 if ($value > $maxPageSize) {
                     unset($availableLimit[$key]);
                     $flChange = true;
                 }
             }
         }
     }
     if ($flChange) {
         if (!array_key_exists($maxPageSize, $availableLimit)) {
             $availableLimit[$maxPageSize] = $maxPageSize;
         }
         $currentMode = $this->getCurrentMode();
         if (in_array($currentMode, array('list', 'grid'))) {
             $this->_availableLimit[$currentMode] = $availableLimit;
         } else {
             $this->_defaultAvailableLimit = $availableLimit;
         }
     }
     return $availableLimit;
 }