2011-03-24 61 views
1

我正在使用產品網格,並且某些網頁需要4列,其中包含某些頁面上的兩行8個產品,以及其他頁面上的兩行10個產品的5列。產品網格4列和某些頁面5列有兩列完整產品,怎麼樣?

我可以得到不同的列,但不能更改在管理區域中設置的產品數量。我如何覆蓋5個列頁面的每頁8個產品的默認值?

回答

9

克里斯,

你的問題不是很清楚:) 你想改變的每行和/或總產品數量每頁產品數量?

如果你想改變的每行產品的數量,下面應該是足夠

對於要顯示每行10種每一類產品:

1-去類別中後端並編輯它。

2 - 轉到「定製設計」選項卡,並添加以下的「自定義佈局更新」字段:

<reference name="product_list"> 
    <action method="setColumnCount"><columns>10</columns></action> 
</reference> 

如果要更改每頁的產品總數

在下面,如果您在管理員中設置了每頁默認產品計數,並且您仍希望將其顯示在前端的尋呼機選擇中,則必須將其添加到佈局更新中。在以下示例中,默認產品數爲10,我們希望在給定類別中顯示20種產品。 對於每個要顯示每頁20個產品的類別:

1-進入後端類別並對其進行編輯。

2 - 轉到「定製設計」選項卡,並添加以下的「自定義佈局更新」字段:

<reference name="product_list_toolbar"> 

    <!-- Your default products count : 10 --> 
    <action method="addPagerLimit"><mode>grid</mode><limit>10</limit></action> 

     <!-- Your new products count : 20. This is mandatory to be able to display 20 products --> 
    <action method="addPagerLimit"><mode>grid</mode><limit>20</limit></action> 

     <!-- The total number of products to display per page --> 
    <action method="setDefaultGridPerPage"><limit>20</limit></action> 

</reference> 

現在,讓我們混合使用這兩個

,我們要顯示20產品每頁,10列(SO 2行,每行10個產品)

<reference name="product_list"> 
    <action method="setColumnCount"><columns>10</columns></action> 
</reference> 
<reference name="product_list_toolbar"> 
    <!-- Your default products count : 10 --> 
    <action method="addPagerLimit"><mode>grid</mode><limit>10</limit></action>   
     <!-- Your new products count : 20 --> 
    <action method="addPagerLimit"><mode>grid</mode><limit>20</limit></action>   
     <!-- The total number of products to display per page --> 
    <action method="setDefaultGridPerPage"><limit>20</limit></action> 
</reference> 

請注意...

...您必須調整您的CSS /主題以確保10列的寬度足以包含10 < li>此佈局更新將生成。

+1

感謝您的信息 - 「setDefaultGridPerPage」是我所需要的。 – jvenema 2011-10-12 18:42:33

0

克里斯,你能查看下面的文件嗎?有一個參數是DEFAULT_PRODUCTS_COUNT

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

class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract 
{ 
    protected $_productsCount = null; 

    const DEFAULT_PRODUCTS_COUNT = 5; 

    /** 
    * Initialize block's cache 
    */ 
    protected function _construct() 
    { 
     parent::_construct(); 

     $this->addColumnCountLayoutDepend('empty', 6) 
      ->addColumnCountLayoutDepend('one_column', 5) 
      ->addColumnCountLayoutDepend('two_columns_left', 4) 
      ->addColumnCountLayoutDepend('two_columns_right', 4) 
      ->addColumnCountLayoutDepend('three_columns', 3); 

     $this->addData(array(
      'cache_lifetime' => 86400, 
      'cache_tags'  => array(Mage_Catalog_Model_Product::CACHE_TAG), 
     )); 
    } 
+0

我寧願不覆蓋核心並調用一個對象,並設置它。這可能導致我在那裏。 – Chris 2011-03-25 15:52:35

1

app \ code \ core \ Mage \ Catalog \ Block \ Product \ Abstract。PHP

線沒有66 變化

protected $_defaultColumnCount = 3; 

protected $_defaultColumnCount = 4;