2011-07-20 197 views
3

的Magento的數量限制我加入這個代碼{{block type="catalog/product_list" category_id="25" template="catalog/product/list.phtml"}}在CMS主頁產品在主頁

我想沒有任何限制的產品,以顯示九到這一類我only.How能做到這一點?

回答

2

我不認爲有一個值可以傳入塊標記來限制它。我會建議製作一個新的list.phtml文件來限制它。

讓我看看代碼真的很快。

好的。如果你要/app/design/frontend/default/default/template/catalog/product/list.phtml

將文件複製到

/應用程序/設計/前端/預設/默認/模板/目錄/product/list-limit.phtml

,然後編輯如下:

LINE49: After the foreach 
<?php if($_iterator >=9) { break; } ?> 
LINE94: Where $_collectionSize is assigned change to: 
<?php $_collectionSize = main(9, $_productCollection->count()) ?> 
Line97: After the foreach 
<?php if($i >= 9) { break; } ?> 

應該實現你的願望,無論圖標或列表視圖。

...不久的另一種方法...

另一種方法是編輯加載的產品列表中的文件PHTML禮物把list.php的文件。 「目錄/所屬類別」的塊類型意味着你需要的文件:

/app/code/core/Mage/Catalog/Block/Product/List.php

在那裏你會看到方法getLoadedProductCollection,這調用_getProductCollection。該代碼可以被編輯以過濾/限制返回產品的數量。您可能希望製作該文件的副本,並更新頁面中的塊鏈接。不要將下劃線添加到名稱中,因爲這需要將文件放在子目錄中。

希望這有助於。

1

從以前的答案繼,我似乎已通過編輯list.php的通過線96

return $this->_productCollection 

      ->setPageSize($this->getProductsCount()); 

    } 

    /** 
    * Set how much product should be displayed at once. 
    * 
    * @param $count 
    * @return Mage_Catalog_Block_Product_New 
    */ 
    public function setProductsCount($count) 
    { 
     $this->_productsCount = $count; 
     return $this; 
    } 

    /** 
    * Get how much products should be displayed at once. 
    * 
    * @return int 
    */ 
    public function getProductsCount() 
    { 
     if (null === $this->_productsCount) { 
      $this->_productsCount = self::DEFAULT_PRODUCTS_COUNT; 
     } 
     return $this->_productsCount; 
    } 

之後增加下列和行之後添加此來達到的這43

/** 
* Default value for products count that will be shown 
*/ 
const DEFAULT_PRODUCTS_COUNT = 100; 

/** 
* Products count 
* 
* @var null 
*/ 
protected $_productsCount; 

我從new.php獲得了代碼