Выведите список товаров products и разделов catalogs который соответствует товару
Магазин. Часть II. Товары и CIBlockElement::GetList
| TYPE | тип товара |
| AVAILABLE | доступность |
| BUNDLE | наличие набора |
| QUANTITY | доступное количество |
| QUANTITY_RESERVED | зарезервированное количество |
| QUANTITY_TRACE | включен количественный учет (с учетом значения «по умолчанию» в настройках модуля) — Y/N |
| QUANTITY_TRACE_RAW | включен количественный учет (необработанное значение) — Y/N/D |
| CAN_BUY_ZERO | разрешена покупка «в минус» (с учетом значения «по умолчанию» в настройках модуля) — Y/N |
| CAN_BUY_ZERO_RAW | разрешена покупка «в минус» (необработанное значение) — Y/N/D |
| SUBSCRIBE | разрешена подписка на уведомления о поступлении товара (с учетом значения «по умолчанию» в настройках модуля) — Y/N |
| SUBSCRIBE_RAW | разрешена подписка на уведомления о поступлении товара (необработанное значение) — Y/N/D |
| VAT_ID | ID НДС товара |
| VAT_INCLUDED | признак «НДС включен в цены» |
| PURCHASING_PRICE | закупочная цена |
| PURCHASING_CURRENCY | валюта закупочной цены |
| BARCODE_MULTI | множественность штрихкодов |
| WEIGHT | вес |
| WIDTH | ширина |
| LENGTH | длина |
| HEIGHT | высота |
| MEASURE | ID единицы измерения |
| PAYMENT_TYPE | для продажи подписки |
| RECUR_SCHEME_LENGTH | для продажи подписки |
| RECUR_SCHEME_TYPE | для продажи подписки |
| TRIAL_PRICE_ID | для продажи подписки |
| WITHOUT_ORDER | для продажи подписки |
| PRICE_TYPE | ID типа цены | фильтр |
| PRICE | цена | фильтр |
| CURRENCY | валюта | фильтр |
| QUANTITY_TO | минимальное количество товара | фильтр |
| QUANTITY_FROM | максимальное количество товара | фильтр |
| EXTRA_ID | ID наценки | фильтр |
| SCALED_PRICE | цена в базовой валюте | фильтр |
| QUANTITY_RANGE_FILTER | количество товара, для которого искать цены | только фильтр, вспомогательное |
| CURRENCY_FOR_SCALE | фильтрация по цене с указанием валюты (т.е. когда необходимо отфильтровать цены в любых валютах с учетом курса) | только фильтр, вспомогательное |
| PRICE_ИДцены | цена | фильтр, сортировка, выборка |
| CURRENCY_ИДцены | валюта | фильтр, сортировка, выборка |
| QUANTITY_TO_ИДцены | минимальное количество товара | фильтр, сортировка, выборка |
| QUANTITY_FROM_ИДцены | максимальное количество товара | фильтр, сортировка, выборка |
| EXTRA_ID_ИДцены | ID наценки | фильтр, сортировка, выборка |
| SCALED_PRICE_ИДцены | цена в базовой валюте | фильтр, сортировка, выборка |
| QUANTITY_RANGE_FILTER_ИДцены | количество товара, для которого искать цены | только фильтр, вспомогательное |
| CURRENCY_FOR_SCALE_ИДцены | фильтрация по цене с указанием валюты (т.е. когда необходимо отфильтровать цены в любых валютах с учетом курса) | только фильтр, вспомогательное |
| STORE_NUMBER | ID склада |
| STORE_AMOUNT | количество на складе |
| STORE_AMOUNT_ИДсклада | количество на конкретном складе |
Выведите список товаров products и разделов catalogs который соответствует товару

MySQL SELECT на примере каталога товаров
- shows – по количеству просмотров в среднем;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по названию;
- id – по идентификатору;
- active_from – по дате активности с;
- active_to – по дате активности по;
- CATALOG_AVAILABLE – по доступности на складах.
- asc – По возрастанию;
- desc – По убыванию.
- shows – по количеству просмотров в среднем;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по названию;
- id – по идентификатору;
- active_from – по дате активности с;
- active_to – по дате активности по;
- CATALOG_AVAILABLE – по доступности на складах.
- asc – По возрастанию;
- desc – По убыванию.
- A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
- Y — Кешировать: для кеширования необходимо определить время кеширования;
- N — Не кешировать: кеширования нет в любом случае.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Выведите список товаров products и разделов catalogs который соответствует товару
karas1k / MySQL Public
MySQL / lesson_7.sql
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Выведите список товаров products и разделов catalogs который соответствует товару

- как настроить инфоблок Производители, чтобы ссылки вели на нужные страницы с детальным описанием производителя;
- как настроить комплексный компонент новостей, через который выводятся производители, чтобы для детальной страницы он использовал не автоматически генерируемую страницу, а специально созданную нами для этого;
- каким компонентом вывести детальную информацию из инфоблока Производители, а каким список товаров этого производителя и как их скомпоновать на одной странице;
- как связать настройки компонентов на странице с параметрами, которые передаются в адресной строке (только это новое, еще не пройденное ранее).
![]()
MySQL SELECT на примере каталога товаров
- shows – по количеству просмотров в среднем;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по названию;
- id – по идентификатору;
- active_from – по дате активности с;
- active_to – по дате активности по;
- CATALOG_AVAILABLE – по доступности на складах.
- asc – По возрастанию;
- desc – По убыванию.
- shows – по количеству просмотров в среднем;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по названию;
- id – по идентификатору;
- active_from – по дате активности с;
- active_to – по дате активности по;
- CATALOG_AVAILABLE – по доступности на складах.
- asc – По возрастанию;
- desc – По убыванию.
- A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
- Y — Кешировать: для кеширования необходимо определить время кеширования;
- N — Не кешировать: кеширования нет в любом случае.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Обратите внимание, что данный параметр недоступен при отмеченной опции Использовать параметры свойств в компонентах и формах
. Подробнее читайте в уроке.
Вывод списка товаров (bitrix:catalog.section) в слайдере
Довольно часто при разработке интернет-магазина на битриксе возникает потребность вывести список товара в виде слайдера (Например, на главной странице). Наиболее часто товар фильтруется по какому-либо свойству (Новинка, хит продаж, скидка и тому подобное). Собственно, в данной заметке рассмотрен вопрос о том, как реализовать данный блок на сайте.

Что для этого требуется?
- Подключенная библиотека jquery и какой-нибудь плагин слайдера. В рамках данной статьи используется slick slider (Личные предпочтения автора, не более того).
- Копия шаблона компонента bitrix:catalog.section (в ней и будет происходить основная работа)
В рамках данного примера будет рассмотрен «классический» слайдер (Картинка-название-цена-кнопка) для простоты изложения. Стоит заметить, что в данном случае обрезана часть функционала (например, ajax добавление в корзину, которое идет по-умолчанию в новых шаблонах битрикса).
Свойством, в данном случае, выступает булевое значение «хит». В случае, если у товара данное свойство равно единице, на блок с товаром в слайдере добавляется лейбл «хит продаж».
БЛОК 1. Работа с шаблоном компонента
Первым делом, в файле template.php следует закомментировать (или удалить) весь имеющийся код (кроме самой первой строки (<?if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die();?>)).
Далее, можно приступать именно к разработке шаблона слайдера. Предположим, что блок со слайдером будет занимать всю доступную ширину рабочей области, т.е. при подключенном бутстрапе блок будет обернут в:
Далее, при желании, можно добавить еще один div, в котором пропишем отступы и центрирование элементов. Очень желательно добавить к данному div’у какой-нибудь класс (пригодится позже).
После этих действий начинается основная работа по кастомизации шаблона компонента. Первым делом, следует добавить цикл foreach (в удобном разработчику синтаксисе) следующего вида:
И внутри данного цикла начинается разработка шаблона каждого товара в слайдере. Ниже приведен html и php код для шаблона товара, далее дается комментарий по основным моментам.
Автор заранее приносит извинения за инлайновые стили, достаточно вредная привычка, от которой тяжело отказаться.
Итак, комментарии, относительно вышеприведенного кода:
Как видно, блок с классом sale_main_main — это родительский контейнер для отдельного товара, в нем задается высота, ширина, цвет бэкграунда и прочие «общие» стили для товара в слайдере.
Блок с классом sale_main_skidka — это блок, который отвечает за вывод лейбла с надписью «Хит продаж». Учитывая то, что в данном слайдере все товары отфильтрованы под данному свойству, то и лейбл применяется ко всем товарам. <?echo GetMessage(«CATALOG_HHT»)?> — выводит непосредственно текст «Хит продаж». Само значение данной переменной хранится в языковом файле в папке lang в шаблоне компонента.
Далее все должно быть довольно очевидно: Ссылка на детальную страницу элемента — вывод фотографии, ссылка на детальную страницу элемента — вывод названия.
После идет вывод цены — тут надо обратить внимание на то, как организован вывод цены в шаблоне компонента по-умолчанию (и взять этот механизм за основу). Просто, в некоторых шаблонах битрикса данный механизм может различаться.
В конце идет кнопка со ссылкой на детальную страницу элемента, тут ничего сложного нет.
БЛОК 2. «Прикручиваем» слайдер к шаблону компонента.
Ранее, мы добавили класс к родительскому контейнеру (который идет до цикла foreach). Предположим, что класс у контейнера называется «your-class». Теперь, для того, чтобы наши товары выводились в slick слайдере, нужно добавить небольшой javascript-код. Он выглядит следующим образом:
В настройках отключены точки, установлен бесконечный цикл прокрутки, установлен вывод 4 элементов за раз. Блоки breakpoint предназначены для адаптации слайдера под меньшие размеры экрана, то есть чем меньше экран, тем меньше элементов выводится за раз. При ширине экрана 480px (мобильные устройства) выводится всего один элемент.
Собственно, на этом работа с шаблоном компонента закончена.
БЛОК 3. Вывод компонента на главной странице.
Последнее действие, которое осталось рассмотреть в данной статье — это вывод компонента на главной странице сайта. По-умолчанию, главная страница сайта на битриксе лежит в корне сайта и называется index.php.
Как было сказано в начале статьи, свойство «Хит продаж» является булевым, поэтому фильтр для вывода товаров каталога, отфильтрованных по данному свойству, будет выглядеть следующим образом:
Т.е. выбираем только те товары, где значение свойства равно единице. И далее выводим шаблон компонента bitrix:catalog.section с созданным нами шаблоном и установленным фильтром. Вызов компонента будет выглядеть примерно так (Возможны, конечно, небольшие изменения):
И после выполнения всех вышеперечисленных действий, «на выходе» получится что-то подобное:
Вывести все товары, с постраничной навигацией, из всех разделов инфоблока
По сути, эта заметка, небольшой лайфхак. Достаточно часто нужно, в корне каталога, в ТОП-е товаров вывести все товары всех разделов инфоблока, с постраничной навигацией. Да, и еще навесить умный фильтр над этим делом. Все очень просто- рассказываю
Catalog.section вместо catalog.top
Для начала, просто смотрим на шаблон комплексного компонента каталог, и понимаем, что все что нам нужно уже есть в section.php. Там выводится компонент catalog.section. и умный фильтр с ним работает. да и постраничная навигация там уже есть. Делать все тоже самое для catalog.top, который выводится в sections.php, трудоемко- придется кастомизировать компонент ТОП-а
Единственное чего не хватает в catalog.section это выводить товары «не зная раздела»- то есть он выводит товары (элементы точнее) только из заведомо известного раздела. или нет? )
Копируем catalog.section из section.php в sections.php, просто как есть. Catalog.top можете оставить, по желанию- выведете туда пару тройку товаров с иным оформлением (ТОП же).
У catalog.section находим строчку
И меняем N на Y. SHOW_ALL_WO_SECTION — это не документированный параметр, который отвечает за вывод элементов инфоблока без привязки к разделам, точнее: если раздел не известен- выводит все подряд
У самого же catalog.section уже есть и постраничная навигация, и над ним можно навесить умный фильтр
В следующей записке, расскажу как вывести Умный фильтр на главную, что бы он давал выбрать параметры товаров и отправлял в каталог, эта записка нам понадобится.
Поддержать выпуски видео уроков, поблагодарить за полезную инструкцию или заметку можно через:
| Цитата |
|---|
| Копируем catalog.section из section.php в sections.php, просто как есть. |
| Цитата |
|---|
| "SHOW_ALL_WO_SECTION" => "N", |
Я думаю, вот это вам прояснит ситуацию. Тут я вызываю умный фильтр, но перед этим делаю необходимые правки, как раз уместные для вашей ситуации
Спасибо, понятный урок на видео. Вывел все товары в корне каталога. Сверху (в корне каталога) навесил вывод фильтра с условием
Однако при фильтрации данный фильтр показывает что выбрано 0 элементов, однако если нажать показать элементы подходящие по параметру, то показывает как и нужно. Это вообще правится или проще скрыть показ количества элементов при выбранных параметрах фильтра?

PS. есть еще второй вопрос немного не по теме. (Вы слету определили шаблон который я пытаюсь кастомизировать, поэтому попробую его вам задать)
Пытаюсь кастомизировать компонент catalog для этого я хочу перенести его в папку local для этого скопировал комплексный компонент catalog через режим правки, затем я скопировал через админку комплексный компонент catalog.section и добавил к дефолтному шаблону .default свой шаблон /local/templates/шаблон_сайта/components/bitrix/catalog.section/kirill-catalog-section/
После добавления шаблона под моим названием я вносил изменения в код вызова компонента (менял .default на свое название)
Однако в catalog.section после <!— items-container —> есть управляющая констукция switch() в которой в зависимости от условия case подключается компонент bitrix:catalog.item
Вот с ним у меня возникла проблема — пытался также скопировать папку компонента в /local/templates/шаблон_сайта/components/bitrix/catalog.item/templates/.default/card/