Каталог::Каталог (комплексный компонент)
Комплексный компонент осуществляет вывод полного каталога товаров из определенного инфоблока. Его функциональность объединяет возможности нескольких одностраничных компонентов: фильтра, компонента сравнения, вывода элементов раздела, топа элементов, связанных элементов и др. Расположив комплексный компонент на одной странице можно получить полнофункциональный каталог. Компонент является стандартным и входит в дистрибутив модуля.
Пример вызова
<?$APPLICATION->IncludeComponent("bitrix:catalog","",Array(
"SEF_MODE" => "Y",
"IBLOCK_TYPE" => "books",
"IBLOCK_ID" => "30",
"USE_FILTER" => "Y",
"USE_REVIEW" => "Y",
"USE_COMPARE" => "Y",
"SECTION_SORT_FIELD" => "sort",
"SECTION_SORT_ORDER" => "asc",
"SHOW_TOP_ELEMENTS" => "Y",
"PAGE_ELEMENT_COUNT" => "30",
"LINE_ELEMENT_COUNT" => "3",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_ORDER" => "asc",
"LIST_PROPERTY_CODE" => Array("ISBN","YEAR","PUBLISHER","PAGES"),
"DETAIL_PROPERTY_CODE" => Array("ISBN","YEAR","PUBLISHER","PAGES",
"FORUM_TOPIC_ID","FORUM_MESSAGE_CNT"),
"BASKET_URL" => "/personal/basket.php",
"ACTION_VARIABLE" => "action",
"PRODUCT_ID_VARIABLE" => "id",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"DISPLAY_PANEL" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"SET_TITLE" => "Y",
"PRICE_CODE" => Array("WHOLESALE","RETAIL"),
"USE_PRICE_COUNT" => "Y",
"SHOW_PRICE_COUNT" => "1",
"LINK_IBLOCK_TYPE" => "books",
"LINK_IBLOCK_ID" => "32",
"LINK_PROPERTY_SID" => "BOOK",
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Товары",
"PAGER_SHOW_ALWAYS" => "Y",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"COMPARE_NAME" => "CATALOG_COMPARE_LIST",
"COMPARE_FIELD_CODE" => Array("ID","NAME"),
"COMPARE_PROPERTY_CODE" => Array("YEAR","PUBLISHER"),
"DISPLAY_ELEMENT_SELECT_BOX" => "N",
"ELEMENT_SORT_FIELD_BOX" => "name",
"ELEMENT_SORT_ORDER_BOX" => "asc",
"COMPARE_ELEMENT_SORT_FIELD" => "sort",
"COMPARE_ELEMENT_SORT_ORDER" => "asc",
"TOP_ELEMENT_COUNT" => "9",
"TOP_LINE_ELEMENT_COUNT" => "3",
"TOP_ELEMENT_SORT_FIELD" => "sort",
"TOP_ELEMENT_SORT_ORDER" => "asc",
"TOP_PROPERTY_CODE" => Array("YEAR","PUBLISHER"),
"FILTER_NAME" => "",
"FILTER_FIELD_CODE" => Array("ID","CODE","NAME","DATE_ACTIVE_FROM","DATE_ACTIVE_TO",
"SHOW_COUNTER","IBLOCK_TYPE_ID","IBLOCK_ID"),
"FILTER_PROPERTY_CODE" => Array("YEAR","PUBLISHER","PAGES"),
"FILTER_PRICE_CODE" => Array("WHOLESALE","RETAIL"),
"MESSAGES_PER_PAGE" => "25",
"USE_CAPTCHA" => "Y",
"PATH_TO_SMILE" => "/bitrix/images/forum/smile/",
"FORUM_ID" => "1",
"URL_TEMPLATES_READ" => "",
"SEF_FOLDER" => "/",
"SEF_URL_TEMPLATES" => Array(
"sections" => "",
"section" => "#SECTION_ID#/",
"element" => "#SECTION_ID#/#ELEMENT_ID#",
"compare" => "compare.php?action=#ACTION_CODE#"
),
"VARIABLE_ALIASES" => Array(
"sections" => Array(),
"section" => Array(),
"element" => Array(),
"compare" => Array("ACTION_CODE" => "action"),
)
)
);?>
Описание параметров
Основные параметры
- IBLOCK_TYPE
- Тип информационного блока.
- IBLOCK_ID
- Идентификатор информационного блока выбранного типа.
- USE_FILTER
- [Y|N] При выборе значения "Y" становятся доступными поля настройки фильтра. На странице разделов инфоблока отображается форма фильтра.
- USE_REVIEW
- [Y|N] При выборе значения "Y" становятся доступными поля настройки отзывов. На странице детального просмотра элементов отображается форма отзывов.
- USE_COMPARE
- [Y|N] При выборе значения "Y" становятся доступными поля для настройки сравнения элементов и будет возможно сравнивать элементы каталога по кнопке Сравнить.
Шаблоны ссылок
- BASKET_URL
- Путь к странице с корзиной покупателя.
- ACTION_VARIABLE
- Имя переменной, в которой передается действие: ADD_TO_COMPARE_LIST, ADD2BASKET и т.д. Значение поля по умолчанию action.
- PRODUCT_ID_VARIABLE
- Имя переменной, в которой будет передаваться ID товара.
- SECTION_ID_VARIABLE
- Имя переменной, в которой будет передаваться ID раздела инфоблока.
Управление адресами страниц
- SEF_MODE
- [Y/N] При установленном флаге включается поддержка ЧПУ (Человеко Понятный УРЛ) и становятся доступными поля настройки адресов ЧПУ.
- SEF_FOLDER
- Каталог ЧПУ: путь до папки, с которой работает компонент. Этот путь может как совпадать с физическим путём, так и не совпадать.
- SEF_URL_TEMPLATES
- Указываются адреса следующих страниц:
- Sections - страница списка разделов. Если в текущем разделе данная страница индексная, то поле можно оставить пустым.
- Section - страница со списком элементов раздела.
- Element - страница с детальной информацией элемента инфоблока.
- Compare - страница с таблицей сравнения элементов.
- VARIABLE_ALIASES
- Имена переменных для управления страницами каталога.
Настройки кеширования
- CACHE_TYPE
- Тип кеширования:
- A - Авто: действует при включенном кешировании в течение заданного времени;
- Y - Кешировать: для кеширования необходимо определить только время кеширования;
- N - Не кешировать: кеширования нет в любом случае.
- CACHE_TIME
- Время кеширования, указанное в секундах.
- CACHE_FILTER
- [Y/N] При отмеченной опции каждый результат, полученный из фильтра, будет кешироваться.
Дополнительные настройки
- DISPLAY_PANEL
- [Y/N] При выборе значения "Y" в административную панель будут добавлены кнопки управления инфоблоками указанного типа.
- SET_TITLE
- [Y/N] При отмеченной опции будут установлены заголовки страниц в соответствии с их содержимым.
Настройки отзывов
- MESSAGES_PER_PAGE
- Количество сообщений на одной странице
- USE_CAPTCHA
- [Y/N] При выборе значения "Y" будут выведены изображение и поле ввода CAPTCHA в форме добавления отзыва в публичной части.
- PATH_TO_SMILE
- Путь относительно корня сайта к папке со смайлами.
- FORUM_ID
- Идентификатор форума для отзывов.
- URL_TEMPLATES_READ
- Адрес страницы чтения темы форума. Если поле будет оставлено пустым, то адрес будет взят из настроек форума.
Настройки фильтра
- FILTER_NAME
- Имя массива со значениями фильтра для фильтрации элементов. Если имя не указано, то будет использоваться значение по умолчанию.
- FILTER_FIELD_CODE
- Указываются поля элементов инфоблока, по которым будет возможна фильтрация элементов.
- FILTER_PROPERTY_CODE
- Указываются свойства инфоблока, по которым будет возможна фильтрация элементов.
- FILTER_PRICE_CODE
- Указываются типы цен, определенные в системе, по которым будет возможна фильтрация элементов.
Настройки сравнения
- COMPARE_NAME
- Уникальное имя переменной, в которой передается список сравниваемых элементов. По умолчанию CATALOG_COMPARE_LIST.
- COMPARE_FIELD_CODE
- Указываются поля, по которым товары будут сравниваться в таблице сравнения.
- COMPARE_PROPERTY_CODE
- Указываются свойства инфоблока, по которым товары будут сравниваться в таблице сравнения.
- DISPLAY_ELEMENT_SELECT_BOX
- [Y/N] Параметр управляет выводом выпадающего списка элементов инфоблока на странице сравнения.
- ELEMENT_SORT_FIELD_BOX
- Указывается поле, по которому будут отсортированы элементы инфоблока в выпадающем списке.
- ELEMENT_SORT_ORDER_BOX
- Устанавливается направление сортировки элементов инфоблока в списке.
- COMPARE_ELEMENT_SORT_FIELD
- Задается поле, по которому будут отсортированы товары в таблице сравнения.
- COMPARE_ELEMENT_SORT_ORDER
- Устанавливается направление сортировки товаров в таблице сравнения.
Настройки списка
- PAGE_ELEMENT_COUNT
- Количество элементов на одной странице. Весь список элементов выводится с помощью постраничной навигации.
- LINE_ELEMENT_COUNT
- Количество элементов, выводимых в одной строке таблицы.
- ELEMENT_SORT_FIELD
- Указывается поле, по которому будет происходить сортировка товаров внутри каждого раздела.
- ELEMENT_SORT_ORDER
- Определяется направление сортировки элементов в разделе по установленному полю.
- LIST_PROPERTY_CODE
- Указываются те свойства инфоблока, которые должны быть отражены при показе списка элементов внутри раздела.
Настройки TOP'а
- SECTION_SORT_FIELD
- Указывается поле, по которому будет происходить сортировка разделов. Например, sort - индекс сортировки.
- SECTION_SORT_ORDER
- Направление сортировки:
- asc - по возрастанию;
- desc - по убыванию.
- SHOW_TOP_ELEMENTS
- [Y/N] При отмеченной опции будет выведен топ элементов инфоблока.
- TOP_ELEMENT_COUNT
- Количество элементов на странице.
- TOP_LINE_ELEMENT_COUNT
- Количество элементов, выводимых в одной строке таблицы.
- TOP_ELEMENT_SORT_FIELD
- Указывается поле, по которому будут отсортированы товары в топе элементов.
- TOP_ELEMENT_SORT_ORDER
- Устанавливается направление сортировки товаров в топе.
- TOP_PROPERTY_CODE
- Указываются те свойства инфоблока, которые должны быть отражены при показе в TOP’е элементов.
Настройки детального просмотра
- DETAIL_PROPERTY_CODE
- Указываются те свойства инфоблока, которые должны быть отражены при детальном просмотре элементов.
Настройки связанных элементов
- LINK_IBLOCK_TYPE
- Тип инфоблока, элементы которого связаны с текущим элементом.
- LINK_IBLOCK_ID
- Идентификатор инфоблока, элементы которого связаны с текущим элементом.
- LINK_PROPERTY_SID
- Свойство, в котором хранится связь.
- LINK_ELEMENTS_URL
- Адрес страницы, на которой будет показан список связанных элементов.
Настройки постраничной навигации
- DISPLAY_TOP_PAGER
- [Y/N] При выборе значения "Y" навигация по страницам будет выведена наверху страницы.
- DISPLAY_BOTTOM_PAGER
- [Y/N] При выборе значения "Y" навигация по страницам будет выведена внизу страницы.
- PAGER_TITLE
- Название категорий, по которым происходит перемещение по элементам.
- PAGER_SHOW_ALWAYS
- [Y/N] При выборе значения "Y" постраничная навигация будет выводиться, даже если все элементы помещаются на одной странице.
- PAGER_TEMPLATE
- Имя шаблона постраничной навигации. Если поле пусто, то выбирается шаблон по умолчанию (.default). Также в системе задан шаблон orange.
- PAGER_DESC_NUMBERING
- [Y/N] Механизм используют, если при добавлении элемента инфоблока, он всегда попадает наверх списка. Таким образом, меняется лишь последняя страница. Все предыдущие можно надолго закэшировать.
- PAGER_DESC_NUMBERING_CACHE_TIME
- Время кеширования первых страниц в секундах при использовании обратной навигации.
Цены
- PRICE_CODE
- Указываются типы цен, которые будут выведены для элементов. Если не задан ни один из типов, то цена товара и кнопки Купить и В корзину показаны не будут.
- USE_PRICE_COUNT
- [Y/N] При выборе значения "Y" отображаются цены всех типов на товары .
- SHOW_PRICE_COUNT
- Количество единиц товара, для которого выводить стоимость.