Magento: как изменить количество столбцов продукта в зависимости от макета страницы? - PullRequest
6 голосов
/ 25 февраля 2011

Я знаю, что в catalog.xml эта строка влияет на все макеты:

   <action method="setColumnCount"><columns>5</columns></action> 

Но я хочу изменить количество столбцов на основе определенных макетов страниц, т. Е. 2 ​​столбца с левой полосой, 3 столбца и т. Д.

Это то, что кто-то сказал, чтобы сделать, но я не уверен, что я добавил тег обновления в нужном месте, потому что он, кажется, не работает. Также, если вы читаете комментарии, которые они говорят, когда вы включаете кеширование, это нарушает его: http://www.lotusseedsdesign.com/blog/change-grid-view-column-4-product-listing

Так кто-нибудь знает, как использовать метод addColumnCountLayoutDepend или любой другой способ изменить количество столбцов в сетке продукта, специфичное для макета страницы?

Ответы [ 5 ]

6 голосов
/ 01 марта 2011

Для страницы подкатегории в файле app / design / frontend / Your Interface / layout / catalog.xml измените значение следующей строки:

<action method="setColumnCount"><columns>4</columns></action>

Для страницы корневой категории в приложении / design / frontend / Ваш интерфейс / template / catalog / product / list.phtml найдите следующий код в разделе «Grid Mode» и измените его в соответствии со значением:

<?php $_columnCount = $this->getColumnCount(); ?>

как

<?php $_columnCount = 4; ?>
5 голосов
/ 13 января 2014

Немного старый вопрос (почти 3 года: D), но я нашел интересное решение для этого на сайте Kathir 'Sid' Vel

Для этого вы отредактируете каталог / товар /шаблон list.phtml.

Найдите строку:

<?php $_columnCount = $this->getColumnCount(); ?>

и замените ее кодом ниже или прокомментируйте строку и добавьте после нее код.

<?php

/* Get the layout's page template */
$pageLayoutRootTemplate = $this->getLayout()->getBlock('root')->getTemplate();

/* Set the column count based on the layout template used */
switch ($pageLayoutRootTemplate) {
    case 'page/1column.phtml':
        $_columnCount = 4;
        break;

    case 'page/2columns-left.phtml':
        $_columnCount = 3;
        break;

    case 'page/2columns-right.phtml':
        $_columnCount = 3;
        break;

    case 'page/3columns.phtml':
        $_columnCount = 2;
        break;

    default:
        $_columnCount = 3;
        break;
}

?>
3 голосов
/ 09 октября 2012

Есть несколько способов изменить количество столбцов.Вы можете попробовать каждый метод, чтобы увидеть, что вам подходит.

1) Посмотрите этот урок: http://www.youtube.com/watch?v=wNbV34v72a0 Вот код, который вам нужен, чтобы он работал.

<reference name="product_list">
<action method="setColumnCount"><count>4</count></action>
</reference>

2)Если вышеописанное не помогает, используйте это на любой странице CMS, которую вы хотите изменить столбцы.Например, если у вас есть страница CMS для отображения определенной категории, используйте это.Это особенно удобно для отображения товаров определенной категории и одновременного задания количества элементов в строке.Вставьте следующий код на своей странице CMS:

{{block type="catalog/product_list" category_id="42" template="catalog/product/showroom.phtml" columnCount="4"}} 

Вы можете изменить число columnCount с 4 на любое другое.Вы можете получить идентификатор категории, нажав на категорию под вашим magento admin / category / management category /

Это очень важно!Иногда, когда вы делаете все правильно в любом из двух шагов выше, элементы в строке все еще не изменяются.Причиной может быть проблема с CSS.Итак, это приводит к шагу 3:

3) Откройте CSS вашего шаблона и выполните поиск .products-grid. Убедитесь, что ширина установлена ​​на достаточно большое число, чтобы можно было отображать количество элементов в строке, которое вы хотите.без необходимости нажимать на переполненные предметы.В моем случае я старался изо всех сил иметь по 4 элемента в строке, но потерпел неудачу, пока не заметил в CSS, что моя .col1-layout .products-grid имеет ширину 750 пикселей.Я изменил ширину на 995 пикселей и вуаля, шаг 2 работал безупречно.

Уже поздно, но я надеюсь, что это кому-то поможет.

1 голос
/ 21 апреля 2011

Перейдите в приложение \ design \ frontend \ base \ default \ layout \ catalog.xml затем перейдите к строке 85 и откорректируйте код. и найдите «catalog / product_list_toolbar», затем настройте продукты в соответствии с вашими потребностями.

0 голосов
/ 23 сентября 2014

Самый простой способ изменить это с вкладки конфигурации

Система-> Конфигурация-> вкладка каталога-каталога-> интерфейс, вы можете легко изменить его из своего бэкэнда magento.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...