设置magento列表页产品数量

magento产品显示数量
magento产品显示数量

由于使用不同的模板,magento产品列表页每页显示产品的数量总是变化的,我经常需要改动它。今天在改动产品显示数量的时候结果发现不起作用,我的缓存是关闭的,我查下数据库的core_congfig表,设置有存到数据库中。我想不应该是XML文件在控制吧,因为我之前接触的所有模板都是后台设置下就可以了,这个模板不会这么点背吧。结果后来发现还真是magento模板的XML文件在控制产品列表页的显示数量。我介绍下magento后台和在模板的XML文件中如何设置产品的显示数量,在XML中设置优先级高于后台设置,但是如果magento后台设置起作用,就不要去修改文件。

1.magento后台设置产品列表页产品数量

进入magento后台 system -> configuration -> catalog -> frontend ,如下图

magento设置产品页产品显示数量
magento设置产品页产品显示数量

分别设置Grid(表格)和List列表页产品显示数量,以及是否允许在一页显示全部产品。如果你的一个magento分类有几百件产品,几千件产品,就不要设置在一页显示全部产品了。

2.在xml中控制产品页显示数量

文件路径 app\design\frontend\default\blank(我使用的是blank模板文件,你换成你的模板文件路径)\layout\catalog.xml 文件

<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
	<block type="page/html_pager" name="product_list_toolbar_pager"/>
	<!-- The following code shows how to set your own pager increments -->
		<action method="setDefaultListPerPage"><limit>10</limit></action>
		<action method="setDefaultGridPerPage"><limit>8</limit></action>
		<action method="addPagerLimit"><mode>list</mode><limit>10</limit></action>
		<action method="addPagerLimit"><mode>list</mode><limit>20</limit></action>
		<action method="addPagerLimit"><mode>list</mode><limit>30</limit></action>
		<action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
		<action method="addPagerLimit"><mode>grid</mode><limit>8</limit></action>
		<action method="addPagerLimit"><mode>grid</mode><limit>16</limit></action>
		<action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action>
		<action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>
</block>

找到如上代码,是在xml文件中控制产品列表页产品的显示数量选项。观察下,改下试下就知道了。一般来说,magento后台设置就起作用了,如果不可以试下在文件中修改。后来发现,这段设置每页显示数量的代码一般都是注释掉的,我这个模板是没有注释掉,注释掉这段代码,在magento后台设置就起作用了。

注意:本例使用magento1.5版本进行讲解,注意不同版本是否有区别。

转载表明出处:www.hellokeykey.com

《设置magento列表页产品数量》有15个想法

  1. key老大,我又有问题了,就是我的模板里有bestseller,features products,promotion product三个区域,请问怎么把产品添加在里面啊?怎么设置呢?~先拜谢了!!!

    1. 需要xml声明的,先声明,再用getchildren()函数在响应.phtml文件中输出。不需要的直接将代码添加到相应.phtml。产品详情页的模板文件应该是,view.phtml。

  2. key老大,为什么有的系统里面有system -> Configuration -> Easy Catalog Images 有点的1.4,1.5都没有找到这些呢!~

  3. 商品列表页和搜索页的布局通常是一致的。但我修改页面时却发现两个页面显示商品的方式不一样。如列表页一行4个商品,搜索页却是3个。页面中的商品总数量在后台设置成16个,在列表页中正好是四行四列,但在搜索页中显示则是五行三列再多出一个。比较了两个页面的代码,除了动态数据外完全一样,说明不是CSS的问题,那是什么问题呢?请博主给点提示,谢谢。

  4. Key你好,我有个问题想请教:如何控制一个分类在首页的显示总数呢?比如说分类中有N多商品,但是我只希望在首页某个位置显示其中四个或者其他。
    期待你的回答,谢谢!
    如果有答复,能不能请你通过邮件回答我呢?

    1. 你新建一个分类,设置为不在菜单中显示。将你想显示的商品添加到这个分类,再用代码在首页显示这个分类的商品。这样比较好

  5. Key老大你好,我想在商品下面有一个“显示更多”的按钮,当点击的时候,显示多几个商品,再点击显示更多按钮的时候,再显示多几个商品,可以一直点击到显示所有商品在同一页。每次点击“显示更多”按钮的时候,显示的商品的数量是由自己决定的。这个我该如何去做,我现在遇到的问题就是,我显示的商品数量被后台限制了,我该如何设定自己的每页显示的商品数量?

    1. 你单独给商品列表页面下边加个模块吧,就是利用ajax技术,来显示更过的商品。至于如何显示商品,参考下magento的获取当前分类的商品以及分页的代码。

  6. 您好,我想把产品列表默认的三栏改为二栏。不知应该修那个文件。控制面板里是改不了的吗?

评论已关闭。