Сетка продуктов 4 столбца и некоторые страницы 5 столбцов с двумя рядами полных продуктов, как? - PullRequest
1 голос
/ 25 марта 2011

Я использую сетку товаров, и некоторым страницам нужны 4 столбца с двумя строками по 8 товаров на определенных страницах и 5 столбцов по две строки по 10 товаров на других страницах.Не меняйте количество товаров, которые установлены в админке.Как бы я переопределил значение по умолчанию 8 продуктов на страницу для моих страниц с 5 столбцами?

Ответы [ 3 ]

9 голосов
/ 26 марта 2011

Крис,

Ваш вопрос не очень понятен :) Хотите изменить количество товаров в строке и / или общее количество товаров на странице?

Если вы хотите изменить количество товаров в строке, вам должно быть достаточно:

Для каждой категории, в которой вы хотите отобразить 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 столбцах (таким образом, 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 столбцов

  • , которые сгенерирует это обновление макета.
1 голос
/ 23 августа 2013

app \ code \ core \ Mage \ Catalogue \ Block \ Product \ Abstract.php

строка без изменения 66

protected $_defaultColumnCount = 3;

на

protected $_defaultColumnCount = 4;
0 голосов
/ 25 марта 2011

Крис, не могли бы вы проверить следующий файл? Есть параметр, который 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),
        ));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...