Magento-設置產品顯示的條數和默認條數

在Block/Product/List/Toolbar.php裏面,控制每頁顯示條數和默認條數的方法以下:php

一、每頁顯示條數:html

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中查看。frontend

Products per Page on Grid Allowed Values表明Grid模式下顯示的產品條數option, Products per Page on Grid Default Value表明Grid模式下默認顯示的條數。this

 

固然上面介紹的方法不是惟一肯定顯示條數和默認顯示條數的方法,能夠在layout.xml中設置或者block中重寫addPagerLimit方法和設置DefaultListPerPage(使用setDefaultListPerPage)spa

<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>

 

設置每頁顯示默認條數是由下面的代碼控制的code

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

如上所示,List mode下默認顯示的條數是4,而Grid mode下默認是24xml

 

而設置每頁顯示的條數是:htm

<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。blog

有一個要注意的是,當咱們設置的默認顯示條數不在設置的選項裏面時,例若有12,24,36三個選項,而默認條數是28,那麼系統會選取12做爲默認條數。rem

相關文章
相關標籤/搜索