2012-11-01 25 views
2

我想定制Magento的价格分层导航ALA这个线程: http://www.magentocommerce.com/boards/viewthread/65135/P15/#t278667语法错误

但是当我复制并粘贴他的代码,我遇到一个错误,请参阅下面的代码。 任何想法?

protected function _getItemsData() 
{ 
    $key = $this->_getCacheKey(); 

    $data = $this->getLayer()->getAggregator()->getCacheData($key); 
    if ($data === null) { 
     $range  = 100;// $this->getPriceRange(); 
     $minEntries = 30; 
     $minPercentage = 12; //overrides the previous line if set, sets minEntries to $minPercentage of total items 
     $lastRange = 5000; //collects everything over this value into one range, must be a multiple of $range. Set to 0 for no last range. 
     $lastRangeIndex = $lastRange == 0 ? 0 : intval($lastRange/$range); 

     $dbRanges = $this->getRangeItemCounts($range); 
     if (($minPercentage > 0) && ($minPercentage < 100)) { 
      $itemCount = array_sum($dbRanges); 
      $minEntriesByPercentage = intval($itemCount * ($minPercentage/100)); 
      $minEntries = $minEntriesByPercentage; 
     } 
     $data  = array(); 

     $collect = 0; 
     $collectIndex = 0; 
     $collections = 1; 
     $lastIndex = 0; 
     foreach ($dbRanges as $index=>$count) { 
      if ((($collect + $count) >= $minEntries) && (($index <= $lastRangeIndex) || ($lastRangeIndex == 0)) { 
        $collections = $collectIndex == 0 ? 1 : ($index - $collectIndex) + 1; 
        $data[] = array(
         'label' => $this->_renderItemLabel($range * $collections, $index/$collections), 
         'value' => ($index/$collections) . ',' . $range * $collections, 
         'count' => $count + $collect, 
        ); 
        $collect = 0; 
        $collections = 1; 
        $collectIndex = 0; 
      } else { 
        $collect = $collect + $count; 
        if ($collectIndex == 0) { 
          $collectIndex = $index; 
        } 
        $collections = $collectIndex == $index ? 1 : ($index - $collectIndex) + 1; 

      } 
      $lastIndex = $index; 
     } 
     if ($collect > 0) { 
        $data[] = array(
         'label' => $this->_renderItemLabel($range * $collections, $lastIndex/$collections), 
         'value' => ($lastIndex/$collections) . ',' . $range * $collections, 
         'count' => $collect, 
        ); 
     } 

     $tags = array(
      Mage_Catalog_Model_Product_Type_Price::CACHE_TAG, 
     ); 
     $tags = $this->getLayer()->getStateTags($tags); 
     $this->getLayer()->getAggregator()->saveCacheData($data, $key, $tags); 
    } 
    return $data; 
} 
+1

有什么错误? – Sara

回答

2

if ((($collect + $count) >= $minEntries) && (($index <= $lastRangeIndex) || ($lastRangeIndex == 0)) { 

缺少 “)” 为,如果语法:

if ((($collect + $count) >= $minEntries) && (($index <= $lastRangeIndex) || ($lastRangeIndex == 0))) { 
+0

非常感谢! – Matt