Magento-设置产品显示的条数和默认条数

在Block/Product/List/Toolbar.php里面,控制每页显示条数和默认条数的方法如下:

1、每页显示条数:

protected function _getAvailableLimit($mode) {
        if (isset($this->_availableLimit[$mode])) {
            return $this->_availableLimit[$mode];
        }
        $perPageConfigKey = ‘catalog/frontend/‘ . $mode . ‘_per_page_values‘;
        $perPageValues = (string) Mage::getStoreConfig($perPageConfigKey);
        $perPageValues = explode(‘,‘, $perPageValues);
        $perPageValues = array_combine($perPageValues, $perPageValues);
        if (Mage::getStoreConfigFlag(‘catalog/frontend/list_allow_all‘)) {
            return ($perPageValues + array(‘all‘ => $this->__(‘All‘)));
        } else {
            return $perPageValues;
        }
    }

Mage::getStoreConfig($perPageConfigKey)是获取系统配置的数据,可以到后台System->Configuration->Catalog->Frontend中查看。

Products per Page on Grid Allowed Values代表Grid模式下显示的产品条数option, Products per Page on Grid Default Value代表Grid模式下默认显示的条数。

当然上面介绍的方法不是唯一确定显示条数和默认显示条数的方法,可以在layout.xml中设置或者block中重写addPagerLimit方法和设置DefaultListPerPage(使用setDefaultListPerPage)

<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>4</limit></action>
                        <action method="setDefaultGridPerPage"><limit>9</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>2</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>4</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>6</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>8</limit></action>              <action method="addPagerLimit"><mode>grid</mode><limit>12</limit></action>              <action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action>              <action method="addPagerLimit"><mode>grid</mode><limit>36</limit></action>

                    </block>

设置每页显示默认条数是由下面的代码控制的

<action method="setDefaultListPerPage"><limit>4</limit></action>
<action method="setDefaultGridPerPage"><limit>24</limit></action>

如上所示,List mode下默认显示的条数是4,而Grid mode下默认是24

而设置每页显示的条数是:

<action method="addPagerLimit"><mode>list</mode><limit>2</limit></action>
<action method="addPagerLimit"><mode>list</mode><limit>4</limit></action>
<action method="addPagerLimit"><mode>list</mode><limit>6</limit></action>
<action method="addPagerLimit"><mode>list</mode><limit>8</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>12</limit></action><action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action><action method="addPagerLimit"><mode>grid</mode><limit>36</limit></action>

如上所示,List mode有4个选项,分别是2,4,6,8。而Grid mode有三个选项,分别是12,24,36。

有一个要注意的是,当我们设置的默认显示条数不在设置的选项里面时,例如有12,24,36三个选项,而默认条数是28,那么系统会选取12作为默认条数。

时间: 2024-10-10 17:36:13

Magento-设置产品显示的条数和默认条数的相关文章

magento商店产品页显示特价的截止日期方法

magento商店产品页显示特价的截止日期方法, 一种方法如下: template > catalog > product > view.phtml 在 <?php echo $this->getTierPriceHtml() ?>下面加上  1 Available until <?php echo $this->formatDate( $_product->getSpecialToDate() , 'full' )?>  另外也可以在price

设置MyEclipse显示代码行数和设置字体的技巧

设置MyEclipse显示代码行数和设置字体的技巧 一个优秀的程序员一定会做到两点,避免bug和瞬间定位bug,显示代码的行数,能帮助我们及时发现错误,分析错误. 1.在MyEclipse菜单栏中找到Window选项,在其下拉菜单中选中Preferences选项,打开 2.在弹出的如下窗口中,在左侧选项列中选General,点击其下拉三角,找到其子选项,Editors 3.在Editors选项中,找到Text Editors选项选中,在右侧中找到Show line numbers,并勾选 4.关

如何更改/删除magento首页产品/广告图片等模块信息

如何更改/删除magento首页产品/广告图片等模块信息,如果只是修改一些简单的地方,例如已经存在 的左右栏目里面的图片内容等,是很简单的,直接在后台就可以修改的,具体如下: 如何删除magento首页不需要的信息. 首先登陆后台.CMS=>Manage Pages=>选择edite page=>Home page=>选择custom design. 然后选择相应的模板,选择相应的列数, 编辑里面的内容. <reference name=”content”> <b

php while循环 指定显示内容 例如不想显示前10条和后10条

<?php //查询信息总的条数 $db_num = query_num("表","where 1=1"); //每页显示的条数 $page_size=200; //总条目数 $nums=$db_num; //每次显示的页数 $sub_pages=5; if(!$pageCurrent) $pageCurrent=1; $page_num=$pageCurrent-1; $page_num=$page_num*$page_size; $list_sql = m

RHEL7、CentOS7提供三种命令行方式方式来设置和显示日期

RHEL7.CentOS7提供三种命令行方式方式来设置和显示日期.时间.timedatectl是在RHEL7及CentOS7中新增的systemd的一部分,date是传统的日期时间设置命令,hwclock单元访问的是硬件时钟. 一.timedatectl [root@Geeklp-Administrator ~]# timedatectl Local time: 六 2017-12-16 19:49:53 CST Universal time: 六 2017-12-16 11:49:53 UTC

JAVA学习绘图颜色及其笔画属性设置字体显示文字

package com.graphics; import java.awt.*; import java.awt.geom.Rectangle2D; import java.util.Date; import javax.swing.*; /** * * @author biexiansheng * */ public class DrawString extends JFrame{ private Shape rect;//矩形对象 private Font font;//字体对象 priva

Linux中文显示乱码?如何设置centos显示中文

Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的.以centos为例,操作Linux怎么查看语言,设置修改语言 1.查看当前系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 2.查看安装的语言包 查看是否有中文语言包可以在终端输入 lo

ReportControl设置无显示内容时的提示文字

由于项目显示内容列表采用的是codejock software里面的ReportControl控件. 在没有显示内容时,提示文字"There are no items to show",想显示成中文的提示内容. 后台修改代码: this.reportControl控件名称.PaintManager.NoItemsText = "修改为自己的中文空行提示内容"; 即可! ReportControl设置无显示内容时的提示文字,布布扣,bubuko.com

ios设置中显示自己的应用

1.建立一个setting bundle文件.如图: 2.会出现一个文件,打开Root.plist文件,对plist文件中的值进行设置. 3.其中设置中又6种样式. Group      开头的title Multi value Slider    拖拉设置 TextField   文本框 Title         文本 Toggle Switch 开关控件 4.代码实现,可以在程序内获取设置值. 在程序员中加入 NSUserDefaults *defaults = [NSUserDefaul