Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

На странице бренда выведи товары бренда использую catalog.item. Сами товары выводим с помощью catalog.section, а уже в шаблоне catalog.section используй catalog.item

Вопрос задан: 28 июня 2026 в 09:00 | Просмотров: 11 Использованные MCP инструменты: MCP не использовался

Задайте свой вопрос — Работает AI в связке с MCP сервером. Перепроверяйте важную информацию.

Разберём, как организовать вывод товаров бренда на странице бренда с помощью связки catalog.section + catalog.item.

Общая логика

  • catalog.section — отвечает за выборку и постраничную навигацию товаров из инфоблока.
  • catalog.item — отвечает за отрисовку одной карточки товара внутри шаблона catalog.section.

Страница бренда — это обычно детальная страница элемента справочника "Производители" (тип reference), либо страница, на которой известен XML_ID или ID бренда. Вам нужно передать фильтр по свойству-привязке к бренду в catalog.section, а в шаблоне компонента заменить стандартный вывод на вызов catalog.item.

Шаг 1. Размещение компонента catalog.section на странице бренда

Пример вызова компонента (в публичной части или в includeComponent):

$APPLICATION->IncludeComponent(
    "bitrix:catalog.section",
    "my_brand_template",
    array(
        "IBLOCK_TYPE"           => "catalog",
        "IBLOCK_ID"             => 2,                      // ID каталога
        "ELEMENT_SORT_FIELD"    => "sort",
        "ELEMENT_SORT_ORDER"    => "asc",
        "FILTER_NAME"           => "brandFilter",          // имя массива фильтра
        "SECTION_ID"            => "",                     // не передаём, фильтр будет по свойству
        "SECTION_CODE"          => "",
        "INCLUDE_SUBSECTIONS"   => "Y",
        "SHOW_ALL_WO_SECTION"   => "Y",                    // показывать товары из любых разделов
        "PAGE_ELEMENT_COUNT"    => "12",
        "PROPERTY_CODE"         => array("BRAND_REF"),     // код свойства "Производитель"
        // ... остальные параметры
    ),
    false
);

А перед вызовом компонента задаёте фильтр по бренду:

global $brandFilter;
$brandFilter = array(
    "=PROPERTY_BRAND_REF" => $arResult["PROPERTIES"]["BRAND"]["VALUE"]  // ID бренда
);
Важно: Параметр FILTER_NAME задаёт имя глобальной переменной, которая будет использована как фильтр. Компонент автоматически применит её к запросу выборки товаров.

Шаг 2. Создаём шаблон catalog.section, в котором вызывается catalog.item

Скопируйте стандартный шаблон /bitrix/templates/.default/components/bitrix/catalog.section/my_brand_template/.

В файле template.php шаблона catalog.section вместо прямого вывода HTML для каждой карточки товара делаете:

<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

use Bitrix\Main\Localization\Loc;

foreach ($arResult["ITEMS"] as $item):
    // Передаём данные одного товара в catalog.item
    $APPLICATION->IncludeComponent(
        "bitrix:catalog.item",
        "my_item_template",
        array(
            "RESULT" => array(
                "ITEM"       => $item,
                "AREA_ID"    => $areaId,
                "SECTION"    => $arResult["SECTION"],
            ),
            "PARAMS" => $arParams,   // можно передать общие параметры
        ),
        $component,
        array("HIDE_ICONS" => "Y")
    );
endforeach;
Примечание: Компонент catalog.item принимает массив RESULT с ключами ITEM, AREA_ID, SECTION. Он сам отрисует карточку товара по своему шаблону.

Шаг 3. Создаём шаблон для catalog.item

Скопируйте стандартный шаблон /bitrix/components/bitrix/catalog.item/templates/.default/ в свою папку my_item_template и кастомизируйте под дизайн страницы бренда.

В файле template.php шаблона catalog.item данные товара доступны через $arResult["ITEM"]:

<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

$item = $arResult["ITEM"];
?>
<div class="brand-product-card" id="<?= $arResult["AREA_ID"] ?>">
    <a href="<?= $item["DETAIL_PAGE_URL"] ?>">
        <img src="<?= $item["PREVIEW_PICTURE"]["SRC"] ?>" alt="<?= $item["NAME"] ?>" />
    </a>
    <h4><?= $item["NAME"] ?></h4>
    <p class="price"><?= $item["CATALOG_PRICE_1"] ?> ₽</p>
    <button class="buy-btn">Купить</button>
</div>

Полная схема работы

  1. Страница бренда (например, /brands/brand1/) получает данные о бренде (ID свойства).
  2. Формируется фильтр $brandFilter с условием =PROPERTY_BRAND_REF => ID_бренда.
  3. Вызывается catalog.section с этим фильтром — он выбирает все товары, привязанные к бренду.
  4. В шаблоне catalog.section для каждого товара вызывается catalog.item.
  5. catalog.item отрисовывает карточку товара по своему шаблону.

Важные замечания

  • Если бренд — это Highload-блок (а не справочник инфоблока), фильтр будет через PROPERTY_MANUFACTURER (код свойства) с XML_ID бренда.
  • Компонент catalog.item требует правильного IBLOCK_ID и IBLOCK_TYPE в $arParams, иначе не сможет подгрузить цену, остатки и т.д.
  • Не забудьте включить кеширование для catalog.section, чтобы страница бренда не грузилась долго.

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс