2011-03-24 57 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;