Показать продукты на главной странице, используя коллекцию фильтров Magento по атрибуту, полю
Опубликовано: 2014-10-07Сегодня Magesolution возвращается с учебным пособием Magento о некоторых эффективных методах отображения продуктов на главной странице с использованием коллекции фильтров Magento по атрибуту, полю.
Последнее обновление: мы только что выпустили версию 2.0 многоцелевой темы Claue Magento 2 с множеством улучшений производительности и эксклюзивных функций. Проверьте эту тему сейчас: Claue Magento Theme 2. 0
Живая демонстрация
Claue — Clean, Minimal Magento 2&1 Theme — отличный шаблон для современного и чистого магазина электронной коммерции с более чем 40 макетами домашней страницы и множеством вариантов для магазина, блога, портфолио, макетов локатора магазинов и других полезных страниц. Claue версии 2.0 поставляется с множеством эксклюзивных функций, включая:
- На основе темы Luma.
- Соответствует всем стандартам темы Magento
- Значительное улучшение производительности
- Совместим с большинством сторонних расширений.
- Полностью совместим с Magento 2.4.x
Эта вторая расширенная версия полностью отличается от предыдущей. Таким образом, если вы используете Claue версии 1 и хотите обновиться до Claue версии 2, вы можете только перестроить новый веб-сайт, а не обновлять старую версию. Теперь вернемся к основной теме.
Во-первых, объясните, как Magento фильтрует коллекцию. Используйте это, чтобы объяснить, как Magento фильтрует коллекцию по атрибуту, полю в модели, чтобы люди могли научиться создавать свои собственные коллекции.
addAttributeToFilter() — это функция, которую можно вызывать для коллекции в Magento. В
Короче говоря, он добавляет условие к части WHERE запроса MySQL, используемой для извлечения коллекции из базы данных.
Например:
$_products = Mage::getModel ('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image')) ->addAttributeToFilter('sku', array('like' => 'UX%')) ->load();
Приведенный выше код получит коллекцию продуктов, где каждый продукт имеет свое имя, URL-адрес,
цена и маленькое изображение, загруженное в его массив данных. Коллекция продуктов будет отфильтрована и будет содержать только продукты, артикул которых начинается с UX.
Фильтрация
Мы можем фильтровать наши коллекции с помощью функции addFieldToFilter(). В SQL вы можете думать об этом как о предложениях WHERE.
Допустим, мы хотим получить товар по артикулу PRODUCT001.
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('sku','PRODUCT001'); $product = $products->getFirstItem();
Давайте попробуем больше, чем условное выражение. Просто укажите массив с условным типом и значением.
Товары стоимостью более 100 долларов США:
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('price', array('gt' => '100'));
Magento дает нам множество условных фильтров на выбор:
Коды состояния фильтра
Код атрибута | Эквивалент SQL | Описание |
экв. | знак равно | |
neq | знак равно | |
как | КАК | |
непохожий | НЕ КАК | |
в | В () | |
нин | НЕ В () | |
является | ЯВЛЯЕТСЯ | |
не ноль | НЕ НУЛЬ | |
нулевой | НУЛЕВОЙ | |
большек | >= | |
гт | > | |
л | < | |
gteq | >= | |
lteq | <= | |
плавник | НАЙТИ_IN_SET() | |
от | >= | для использования с датами |
к | <= | для использования с датами |
Дата | необязательный флаг для использования с from/to, чтобы указать, что значение сравнения должно быть сначала преобразовано в дату | |
дата и время | необязательный флаг для использования с from/to, чтобы указать, что значение сравнения должно быть сначала преобразовано в дату и время |
Если передан массив, но не указан код атрибута, он будет интерпретирован как группа условий ИЛИ, которые будут обрабатываться таким же образом.
Если код атрибута не указан, по умолчанию используется eq.
Условия addAttributeToFilter
Равно: экв.
$_collection-&gt;addAttributeToFilter('status', array('eq' =&gt; 1));
Не равно – neq
$_collection-&gt;addAttributeToFilter('sku', array('neq' =&gt; 'test-product'));
Нравится – нравится
$_collection-&gt;addAttributeToFilter('sku', array('like' =&gt; 'UX%'));
Следует отметить, что вы можете включать подстановочные знаки SQL, такие как
знак процента.
Не нравится - не нравится
$_collection-&gt;addAttributeToFilter('sku', array('nlike' =&gt; 'err-prod%'));
В - в
$_collection-&gt;addAttributeToFilter('id', array('in' =&gt; array(1,4,74,98)));
При использовании in параметр value принимает массив значений.
Не в - нин
$_collection-&gt;addAttributeToFilter('id', array('nin' =&gt; array(1,4,74,98)));
Ноль ноль
$_collection-&gt;addAttributeToFilter('description', 'null');
Не NULL – не NULL
$_collection-&gt;addAttributeToFilter('description', 'notnull');
Больше, чем - gt
$_collection-&gt;addAttributeToFilter('id', array('gt' =&gt; 5));
Меньше чем - lt
$_collection-&gt;addAttributeToFilter('id', array('lt' =&gt; 5));
Больше или равно
$_collection-&gt;addAttributeToFilter('id', array('gteq' =&gt; 5));
Меньше или равно – lteq
$_collection-&gt;addAttributeToFilter('id', array('lteq' =&gt; 5));
ИЛИ условие
$_collection-&gt;addAttributeToFilter(array( array( 'attribute' =&gt; 'field_name', 'in' =&gt; array(1, 2, 3), ), array( 'attribute' =&gt; 'date_field', 'from' =&gt; '2010-09-10', ) ));
Показать новый продукт: использование фильтра addAttributeToFilter по атрибуту
Шаг 1: В app/code/local/Mage/Catalog/Block/Product (если эта папка не существует, создайте ее). Создайте блочный файл (Newproducts.php), который распространяется на
Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/Newproducts.php
&lt;?php class Mage_Catalog_Block_Product_Newproducts extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $todayDate = Mage::app()-&gt;getLocale()-&gt;date()-&gt;toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate)) -&gt;addAttributeToFilter('news_to_date', array('or' =&gt; array( 0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate), 1 =&gt; array('is' =&gt; new Zend_Db_Expr('null'))) ), 'left') -&gt;addAttributeToSort('news_from_date', 'desc') -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
Шаг 2: В файл макета (cms.xml) или на любую страницу CMS добавьте следующий код:
Для файла макета (cms.xml):
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Для любой страницы CMS (например, Домашняя страница):
Перейдите в CMS->Pages, отредактируйте домашнюю страницу следующим образом:
Добавьте следующий код в поле Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
Показать продукт-бестселлер: использование addAttibuteToFilter By Attribute
Аналогично показу нового продукта на главной странице.
Шаг 1 : В app/code/local/Mage/Catalog/Block/Product (если эта папка не существует, создайте ее). Создайте файл блока (Bestsellers.php), который распространяется на Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/ Bestsellers.php
&lt;?php class Mage_Catalog_Block_Product_Bestsellers extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $storeId = Mage::app()-&gt;getStore()-&gt;getId(); $collection = Mage::getResourceModel('reports/product_collection') -&gt;addOrderedQty() -&gt;addAttributeToSelect('*')-&gt;setStoreId($storeId) -&gt;addStoreFilter($storeId) -&gt;addUrlRewrite() -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()) -&gt;setOrder('ordered_qty', 'desc'); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
Шаг 2: В файл макета (cms.xml) или на любую страницу CMS добавьте следующий код:
Для файла макета (cms.xml):
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Для любой страницы CMS (например, Домашняя страница):
Перейдите в CMS->Pages, отредактируйте домашнюю страницу следующим образом:
Добавьте следующий код в поле Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
Показать продукты с пользовательским атрибутом или полем
Создание атрибута – Featured
- Войдите в административную панель Magento
- Перейдите к «Управлению атрибутами» в разделе «Каталог» -> «Атрибуты» -> «Управление атрибутами».
- В правом верхнем углу нажмите «Добавить новый атрибут».
- Теперь вы находитесь на странице редактирования атрибутов и вкладке «Свойства». Это выглядит так:
Вкладка «Свойства»
Вкладка «Внешний интерфейс»
- Идентификатор атрибута: это имя атрибута, используемого системой. В этом поле нельзя использовать пробелы. Мы будем печатать признакам.
- Область: определяет уровень магазина, на котором этот атрибут будет сохраняться для всех продуктов. Если вы выберете Global и измените Featured для продукта 123 в магазине A на Yes, для продукта 123, представленного в магазине B (и любых других магазинах), также будет установлено значение Yes.
- Тип ввода каталога: здесь описывается, какие данные будут храниться в атрибуте. То, что здесь установлено, определяет, как будет происходить ввод данных для этого атрибута. Мы будем использовать Да/Нет, так как мы хотим выбрать значение для.
- Значение по умолчанию: вы можете выбрать значение, которое будет автоматически заполняться для новых продуктов.
- Уникальное значение: если «да», данные, сохраненные в этом атрибуте, должны быть уникальными для каждого продукта. В этом случае мы скажем «нет», потому что у нескольких признаков может быть один и тот же признак.
- Требуемые значения: если «да», вам потребуется выбрать данные в этом поле атрибута при сохранении продукта, который его использует. Проверка ввода:
- Применить к: определяет, для каких типов продуктов будет отображаться этот атрибут. Например, цена не имеет смысла для сгруппированного продукта, поскольку каждый простой продукт, связанный с сгруппированным продуктом, будет иметь свою собственную цену. Таким образом, вы можете установить цену так, чтобы она не применялась к сгруппированному товару, и вы не будете ломать голову над тем, какие цифры туда вписать.
- Использовать в быстром/расширенном поиске: если «да», данные, сохраненные в этом атрибуте, будут доступны для поиска во внешнем интерфейсе при быстром поиске и расширенном поиске соответственно.
- Comparable on Front-end: если «да», этот атрибут будет отображаться при сравнении продуктов, если хотя бы один продукт в списке сравнения содержит значение для этого атрибута.
- Использование в многоуровневой навигации: если «фильтровать», эти данные будут доступны в качестве фильтра в многоуровневой навигации Magento. Фильтруемый (с результатами) означает, что только значения, связанные с конкретными продуктами на странице данной категории, будут перечислены в меню многоуровневой навигации. Фильтруемый (без результатов) означает, что все существующие значения атрибута будут отображаться в меню, даже если его использование в качестве фильтра не даст результатов. Есть одно условие для использования атрибутов в многоуровневой навигации — Тип ввода должен быть «Раскрывающийся список», «Множественный выбор» или «Цена».
- Позиция: определяет положение этого атрибута в многоуровневом меню навигации.
- Отображается на страницах каталога во внешнем интерфейсе: если «нет», этот атрибут не будет отображаться на странице информации о продукте. «Видимость» контролирует только то, отображается ли атрибут во внешнем интерфейсе. Имейте в виду — если вы установите для атрибута значение «Видимый: Нет» и оставите его как «Сопоставимый: Да», этот атрибут все равно будет отображаться в сравнении.
Управление ярлыками/параметрами
На этой вкладке вы можете ввести метку для атрибута во внешнем интерфейсе. Если вы управляете магазинами на нескольких языках, вы можете ввести метку на каждом языке на этой вкладке. Если метка магазина пуста, этот магазин будет использовать метку по умолчанию и использовать ее. Здесь мы введем «Избранное» в разделе «По умолчанию».
Применить атрибут для наборов атрибутов — по умолчанию
- Войдите в административную панель Magento
- Перейдите к «Управлению атрибутами» в разделе «Каталог» -> «Атрибуты» -> «Управление наборами атрибутов».
- Нажмите «По умолчанию» или любые наборы атрибутов.
- Теперь вы находитесь на странице редактирования набора атрибутов и переместите Featured в группу General или любую группу. Это выглядит так:
Применение к продукту
Теперь, чтобы применить этот выбираемый атрибут к продукту, просто добавьте его в набор атрибутов и создайте новый продукт, используя этот набор. Ниже приведен упрощенный пример вкладки Общие создания нового товара в админке:
Аналогично показу нового продукта на главной странице.
Шаг 1: В app/code/local/Mage/Catalog/Block/Product (если эта папка не существует, создайте ее). Создайте файл блока (Featured.php), который распространяется на Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/ Featured.php
В следующем коде используется addAttributeToFilter для атрибута фильтра Featured и используется addFieldToFilter для SKU поля фильтра продукта, имеющего значение sku, например «PROD0003».
&lt;?php class Mage_Catalog_Block_Product_Featured extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('featured', array('eq' =&gt; 1)) -&gt;addFieldToFilter('sku', array('like', 'PROD0003')) -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } } Step 2: In layout file(cms.xml) or any CMS Page add following code: For layout file(cms.xml): &lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Для любой страницы CMS (например, Домашняя страница):
Перейдите в CMS->Pages, отредактируйте домашнюю страницу следующим образом:
Добавьте следующий код в поле Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
Пожалуйста, поделитесь своими впечатлениями и идеями в комментариях ниже!