Битрикс каталог вывести все элементы

Вывод всех товаров каталога битрикс

Для вывода всех товаров каталога из всех разделов на одной странице нужно разместить код вызова компонента bitrix:catalog.section в файле sections.php компонента bitrix:catalog, и указать параметр «Показывать все элементы, если не указан раздел»

При этом может возникнуть проблема отсутствия цен и кнопки купить

Нужно посмотреть настройки компонента, настройки цены могут быть пустые, и тогда в ручную в коде вызова компонента изменить

Второй момент, это при обычной схеме отображения товаров скрыта настройка свойств отбора торговых предложений:

Также нужно свойство предложений выбрать в вкладке «Внешний вид»

Дополнительно.
По многочисленным просьбам трудящихся добавил пример для скачивания
Короткая инструкция:
1. подрубаем в sections.php включаемый файл section_main.php, так как в чистом виде catalog.section не пашет нормально
2. в битриковский вызов кода bitrix:catalog.section добавляем «SHOW_ALL_WO_SECTION» => «Y»,
В примере уже добавлено

Ещё статьи:

20.09.2021 Разговор с рекрутером в 2021. Мидл это младший специалист и на удалёнку не ниже сеньёра
Рекрутер: В принципе ок, но обычно младших специалистов мы в офис берем). Что скажете?
П.С. Мда, интересно оказывается, что мидл это младший специалист. ID: 320

01.12.2020 Свершилось, битрикс перестал поддерживать mbstring.func_overload
Теперь для обновления на версию v20.100.0 требуется удаление опции mbstring.func_overload. Эта опция более не требуется и не поддерживается платформой. ID: 313

13.08.2020 Получить id элемента привязки к пользователю битрикс
Получить id элемента, который добавлен в свойство привязки к пользователю битрикс ID: 250

Новые статьи в блоге:

23.09.2021 Тест провайдера adminvps.ru Тариф Битрикс 1 в 2021
Провёл тесты производительности Битрикс у провайдера adminvps.ru Тариф Битрикс 1.
В целом результаты мне очень понравились, что бросилось в глаза: ID: 321

07.05.2021 Дайджест №1 Ваджра и еврейский вопрос
На днях Ваджра зацепил так называемый «еврейский вопрос», выдержка цитата:
На днях я был безжалостно записан в антисемиты. Забавно. Честно говоря. ID: 318

Источник

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

По сути, эта заметка, небольшой лайфхак. Достаточно часто нужно, в корне каталога, в ТОП-е товаров вывести все товары всех разделов инфоблока, с постраничной навигацией. Да, и еще навесить умный фильтр над этим делом. Все очень просто- рассказываю

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.top.
Переделал на сatalog.section. Перед вызовом сatalog.section вставил bitrix:catalog.smart.filter, но умный фильтр не работает (выводятся только кнопки «Показать» и «Сбросить» ).
Не могли бы вы подсказать как заставить умный фильтр работать?

Цитата
Владимир Мороз написал:
Здравствуйте, Михаил! Спасибо за статью. Как раз появилась задача вывести умный фильтр на странице производителя со списком товаров. Ранее выводился просто catalog.top.
Переделал на сatalog.section. Перед вызовом сatalog.section вставил bitrix:catalog.smart.filter, но умный фильтр не работает (выводятся только кнопки «Показать» и «Сбросить» ).
Не могли бы вы подсказать как заставить умный фильтр работать?

Цитата
Копируем 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 после есть управляющая констукция switch() в которой в зависимости от условия case подключается компонент bitrix:catalog.item
Вот с ним у меня возникла проблема — пытался также скопировать папку компонента в /local/templates/шаблон_сайта/components/bitrix/catalog.item/templates/.default/card/

Однако этот шаблон не подтягивается — вместо него подтягивается шаблон из /bitrix/components/bitrix/catalog.item/templates/.default/card/

Также пытался создать свой шаблон /local/templates/шаблон_сайта/components/bitrix/catalog.item/templates/moi_shablon/card/ и прописать его вызов в catalog.section

Однако подтягивается все равно не из папки local .

Если не сложно и есть время подскажите в чем моя ошибка.

Цитата
Кирилл написал:
Сам решил вопрос. Я олень. выше я писал что подтягивал компоненты из папки /local/templates/шаблон_сайта/components/bitrix/catalog.item/ а нужно было /local/components/мое_пространство_имён/catalog.item/ Вот такой вот я олень — не внимательно разобрался с пространствами имен, но теперь все пучком.

Вывел все товары на отдельной странице с помощью catalog.section ,
навесил фильтр чтоб показывались только товары со свойством — «спецпредложение».
Никак не получается вывести цену. В template.php цена выводится в этой строчке:

В битриксе только пытаюсь разобраться, куда смотреть?

Источник

GetList

Описание

Возвращает список элементов по фильтру arFilter. Метод статический.

Важно! Начиная с версии 18.6.200 модуля Информационные блоки, в методе доступны новые возможности работы с товарами, изменены ключи метода. Читайте подробности в уроке Товары и CIBlockElement::GetList. Соответственно, все параметры вида CATALOG_*** устарели.

Внимание: Начиная с версии 20.5.0 модуля Информационные блоки в методе более не обрабатываются ключи CHECK_BP_TASKS_PERMISSIONS и TASKSTATUS.

Смотрите также

Параметры вызова

Параметр Описание С версии
arOrder Массив вида Array(by1=>order1[, by2=>order2 [, ..]]), где by — поле для сортировки, может принимать значения:
  • id — ID элемента. Может принимать значения:
    • asc — по возрастанию;
    • desc — по убыванию;
    • массив ID — в этом случае элементы будут выводиться в том порядке, в котором они перечислены в массиве. (С версии 18.6.700)
  • sort — индекс сортировки;
  • timestamp_x — дата изменения;
  • name — название;
  • active_from или date_active_from — начало периода действия элемента;
  • active_to или date_active_to — окончание периода действия элемента;
  • status — код статуса элемента в документообороте;
  • code — символьный код элемента;
  • iblock_id — числовой код информационного блока;
  • modified_by — код последнего изменившего пользователя;
  • active — признак активности элемента;
  • show_counter — количество показов элемента (учитывается методом CIBlockElement::CounterInc);
  • show_counter_start — время первого показа элемента (учитывается методом CIBlockElement::CounterInc);
  • shows — усредненное количество показов (количество показов / продолжительность показа);
  • rand — случайный порядок;
  • xml_id или external_id — внешний код;
  • tags — теги;
  • created — время создания;
  • created_date — дата создания без учета времени;
  • cnt — количество элементов (только при заданной группировке);
  • property_

    — по значению свойства с числовым или символьным кодом PROPERTY_CODE (например, PROPERTY_123 или PROPERTY_NEWS_SOURCE);
    propertysort_

    — по индексу сортировки варианта значения свойства. Только для свойств типа «Список» ;
    catalog_ _

    — по полю CATALOG_FIELD (может быть PRICE — цена, CURRENCY — валюта или PRICE_SCALE — цена с учетом валюты) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3). С версии 16.0.3 модуля Торговый каталог сортировка по цене также идет с учетом валюты.

  • IBLOCK_SECTION_ID — ID раздела;
  • *CATALOG_QUANTITY — общее количество товара;
  • *CATALOG_WEIGHT — вес товара;
  • *CATALOG_AVAILABLE — признак доступности товара (Y|N). Товар считается недоступным, если его количество меньше либо равно нулю, включен количественный учет и запрещена покупка при нулевом количестве.
  • *CATALOG_STORE_AMOUNT_ — сортировка по количеству товара на конкретном складе (доступно с версии 15.5.5 модуля Торговый каталог). — сортировка по цене с учетом валюты (доступно с версии 16.0.3 модуля Торговый каталог). —>
  • *CATALOG_BUNDLE — сортировка по наличию набора у товара (доступно с версии 16.0.3 модуля Торговый каталог).
  • PROPERTY_

    . — по значению поля элемента указанного в качестве привязки. PROPERTY_CODE — символьный код свойства типа привязка к элементам. FIELD может принимать значения:

    • ID
    • TIMESTAMP_X
    • MODIFIED_BY
    • CREATED
    • CREATED_DATE
    • CREATED_BY
    • IBLOCK_ID
    • ACTIVE
    • ACTIVE_FROM
    • ACTIVE_TO
    • SORT
    • NAME
    • SHOW_COUNTER
    • SHOW_COUNTER_START
    • CODE
    • TAGS
    • XML_ID
    • STATUS
  • PROPERTY_

    .PROPERTY_ PROPERTY_CODE2 > — по значению свойства элемента указанного в качестве привязки. PROPERTY_CODE — символьный код свойства типа привязки к элементам. PROPERTY_CODE2- код свойства связанных элементов.

  • HAS_PREVIEW_PICTURE и HAS_DETAIL_PICTURE — сортировка по наличию и отсутствию картинок.
  • order — порядок сортировки, пишется без пробелов, может принимать значения:
    • asc — по возрастанию;
    • nulls,asc — по возрастанию с пустыми значениями в начале выборки;
    • asc,nulls — по возрастанию с пустыми значениями в конце выборки;
    • desc — по убыванию;
    • nulls,desc — по убыванию с пустыми значениями в начале выборки;
    • desc,nulls — по убыванию с пустыми значениями в конце выборки;

    Необязательный. По умолчанию равен Array(«sort»=>»asc»)

  • — по ценам торговых предложений. —>

    arFilter Массив вида array(«фильтруемое поле»=>»значения фильтра» [, . ]). «фильтруемое поле» может принимать значения:
    • ID — по числовому коду (фильтр Число);
    • ACTIVE — фильтр по активности (Y|N); передача пустого значения («ACTIVE»=>»») выводит все элементы без учета их состояния (фильтр Строка);
    • NAME — по названию (фильтр Маска);
    • CODE — по символьному идентификатору (фильтр Маска);
    • IBLOCK_SECTION_ID — используйте этот ключ только в режиме выбора основного раздела для элемента либо когда все товары привязаны только к одному разделу. Во всех остальных случаях используйте фильтр по SECTION_ID.
    • TAGS — по тегам (фильтр Маска);
    • XML_ID или EXTERNAL_ID — по внешнему коду (фильтр Маска);
    • PREVIEW_TEXT — по анонсу (фильтр Маска);
    • PREVIEW_TEXT_TYPE — по типу анонса (html|text, фильтр Строка);
    • PREVIEW_PICTURE — коду картинки для анонса (фильтр Число);
    • DETAIL_TEXT — по детальному описанию (фильтр Маска);
    • DETAIL_TEXT_TYPE — по типу детальному описания (html|text, фильтр Строка);
    • DETAIL_PICTURE — по коду детальной картинки (фильтр Число);
    • CHECK_PERMISSIONS — если установлен в «Y», то в выборке будет осуществляться проверка прав доступа к информационным блокам. По умолчанию права доступа не проверяются.
    • PERMISSIONS_BY — фильтрация по правам произвольного пользователя. Значение — ID пользователя или 0 (неавторизованный).
    • *CATALOG_TYPE — фильтрация по типу товара;
    • MIN_PERMISSION — минимальный уровень доступа, будет обработан только если CHECK_PERMISSIONS установлен в «Y». По умолчанию «R». Список прав доступа см. в CIBlock::SetPermission().
    • SEARCHABLE_CONTENT — по содержимому для поиска. Включает в себя название, описание для анонса и детальное описание (фильтр Маска);
    • SORT — по сортировке (фильтр Число);
    • TIMESTAMP_X — по времени изменения (фильтр Дата);
    • DATE_MODIFY_FROM — по времени изменения. Будут выбраны элементы измененные после времени указанного в фильтре. Время указывается в формате сайта. Возможно использовать операцию отрицания «!DATE_MODIFY_FROM»;
    • DATE_MODIFY_TO — по времени изменения. Будут выбраны элементы измененные ранее времени указанного в фильтре. Время указывается в формате сайта. Возможно использовать операцию отрицания «!DATE_MODIFY_TO»;
    • MODIFIED_USER_ID или MODIFIED_BY — по коду пользователя, изменившего элемент (фильтр Число);
    • DATE_CREATE — по времени создания (фильтр Дата);
    • CREATED_USER_ID или CREATED_BY — по коду пользователя, добавившего элемент (фильтр Число);
    • DATE_ACTIVE_FROM — по дате начала активности (фильтр Дата) Формат даты должен соответствовать формату даты, установленному на сайте. Чтобы выбрать элементы с пустым полем начала активности, следует передать значение false;
    • DATE_ACTIVE_TO — по дате окончания активности (фильтр Дата)Формат даты должен соответствовать формату даты, установленному на сайте. Чтобы выбрать элементы с пустым полем окончания активности, следует передать значение false;
    • ACTIVE_DATE — непустое значение задействует фильтр по датам активности. Будут выбраны активные по датам элементы.Если значение не установлено («»), фильтрация по датам активности не производится;
      Чтобы выбрать все не активные по датам элементы, используется такой синтаксис:
    • ACTIVE_FROM — устаревший;
    • ACTIVE_TO — устаревший;
    • IBLOCK_ID — по коду информационного блока (фильтр Число);

    При использовании инфоблоков 1.0 можно в IBLOCK_ID передать массив идентификаторов, чтобы сделать выборку из элементов нескольких инфоблоков:
    Для инфоблоков 2.0 такая выборка будет работать только в том случае, если в ней не запрашиваются свойства элементов.

    В некоторых случаях точное указание IBLOCK_ID в фильтре может ускорить выборку элементов. Так как зависимости сложные, каждый конкретный случай надо рассматривать отдельно.

  • IBLOCK_CODE — по символьному коду информационного блока (фильтр Маска);
  • IBLOCK_SITE_ID или IBLOCK_LID или SITE_ID или LID — по сайту (фильтр Строка);
  • IBLOCK_TYPE — по типу информационного блока (фильтр Маска);
  • IBLOCK_ACTIVE — по активности информационного блока (Y|N, фильтр Строка);
  • SECTION_ID — по родительской группе. Если значение фильтра false, «» или 0, то будут выбраны элементы не привязанные ни к каким разделам. Иначе будут выбраны элементы привязанные к заданному разделу. Значением фильтра может быть и массив. В этом случае будут выбраны элементы привязанные хотя бы к одному из разделов указанных в фильтре. Возможно указание отрицания «!». В этом случае условие будет инвертировано;
  • SECTION_CODE — по символьному коду родительской группы. Аналогично SECTION_ID;
  • INCLUDE_SUBSECTIONS — если задан фильтр по родительским группам SECTION_ID, то будут также выбраны элементы находящиеся в подгруппах этих групп (имеет смысле только в том случае, если SECTION_ID > 0);
  • SUBSECTION — по принадлежности к подразделам раздела. Значением фильтра может быть массив из двух элементов задающих левую и правую границу дерева разделов. Операция отрицания поддерживается.
  • SECTION_ACTIVE — если ключ есть в фильтре, то проверяется активность групп к которым привязан элемент.
  • SECTION_GLOBAL_ACTIVE — аналогично предыдущему, но учитывается также активность родительских групп.
  • SECTION_SCOPE — задает уточнение для фильтров SECTION_ACTIVE и SECTION_GLOBAL_ACTIVE. Если значение «IBLOCK», то учитываются только привязки к разделам инфоблока. Если значение «PROPERTY», то учитываются только привязки к разделам свойств. «PROPERTY_ » — привязки к разделам конкретного свойства.
  • *CATALOG_AVAILABLE — признак доступности товара (Y|N). Товар считается недоступным, если его количество меньше либо равно нулю, включен количественный учет и запрещена покупка при нулевом количестве;
  • *CATALOG_CATALOG_GROUP_ID_N — по типу цен;
  • *CATALOG_SHOP_QUANTITY_N — фильтрация по диапазону количества в цене;
  • *CATALOG_QUANTITY — по общему количеству товара;
  • *CATALOG_WEIGHT — по весу товара;
  • *CATALOG_STORE_AMOUNT_ — фильтрация по наличию товара на конкретном складе (доступно с версии 15.0.2 модуля Торговый каталог). В качестве значения фильтр принимает количество товара на складе либо false.
  • *CATALOG_PRICE_SCALE_ — фильтрация по цене с учетом валюты (доступно с версии 16.0.3 модуля Торговый каталог).
  • *CATALOG_BUNDLE — фильтрация по наличию набора у товара (доступно с версии 16.0.3 модуля Торговый каталог).
  • SUBQUERY — массив из двух параметров:
    • FIELD — строка, имя поля
    • FILTER — массив, фильтр для отбора предложений.

    Внутри GetList преобразовывается в: Доступен с версии 21.300.0 модуля iblock.

  • SHOW_COUNTER — по количеству показов (фильтр Число);
  • SHOW_COUNTER_START — по времени первого показа (фильтр Дата);
  • WF_COMMENTS — по комментарию документооборота (фильтр Маска);
  • WF_STATUS_ID или WF_STATUS — по коду статуса документооборота (фильтр Число);
  • SHOW_HISTORY — если установлен в значение «Y», то вместе с элементами будут выводится и их архив (история), по умолчанию выводятся только опубликованные элементы. Для фильтрации по WF_STATUS_ID SHOW_HISTORY должен стоять в «Y».
  • SHOW_NEW — если SHOW_HISTORY не установлен или не равен Y и SHOW_NEW=Y, то будут показываться ещё неопубликованные элементы вместе с опубликованными;
  • WF_PARENT_ELEMENT_ID — по коду элемента-родителя в документообороте для выборки истории изменений (фильтр Число);
  • WF_NEW — флаг что элемент ещё ни разу не был опубликован (Y|N);
  • WF_LOCK_STATUS — статус заблокированности элемента в документооборте (red|green|yellow);
  • PROPERTY_

    — фильтр по значениям свойств, где PROPERTY_CODE — код свойства или символьный код. Для свойств типа «Список», «Число», «Привязка к элементам» и «Привязка к разделам» — фильтр Число. Для прочих — фильтр Маска;

  • PROPERTY_ >_VALUE — фильтр по значениям списка для свойств типа «список» (фильтр Маска), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
  • *CATALOG_ _

    — по полю CATALOG_FIELD из цены типа PRICE_TYPE (ID типа цены), где CATALOG_FIELD может быть: PRICE — цена, CURRENCY — валюта.
    PROPERTY_

    . — фильтр по значениям полей связанных элементов. , где PROPERTY_CODE — ID или символьный код свойства привязки, а FIELD — поле указанного в привязке элемента. FIELD может принимать следующие значения: ACTIVE, DETAIL_TEXT_TYPE, PREVIEW_TEXT_TYPE, EXTERNAL_ID, NAME, XML_ID, TMP_ID, DETAIL_TEXT, SEARCHABLE_CONTENT, PREVIEW_TEXT, CODE, TAGS, WF_COMMENTS, ID, SHOW_COUNTER, WF_PARENT_ELEMENT_ID, WF_STATUS_ID, SORT, CREATED_BY, PREVIEW_PICTURE, DETAIL_PICTURE, IBLOCK_ID, TIMESTAMP_X, DATE_CREATE, SHOW_COUNTER_START, DATE_ACTIVE_FROM, DATE_ACTIVE_TO, ACTIVE_FROM, ACTIVE_TO, ACTIVE_DATE, DATE_MODIFY_FROM, DATE_MODIFY_TO, MODIFIED_USER_ID, MODIFIED_BY, CREATED_USER_ID, CREATED_BY. Правила фильтров идентичны тем, которые описаны выше.

  • PRODUCT_BARCODE — по штрихкоду.
  • PRODUCT_BARCODE_STORE — по привязке к складу штрихкода.
  • PRODUCT_BARCODE_ORDER — по привязке к заказу штрихкода.
  • Перед названием фильтруемого поля можно указать тип проверки фильтра:

    • «!» — не равно
    • » » — больше
    • «>=» — больше либо равно
    • «> «.»PROPERTY_available»] = date(«Y-m-d»);

      Примечание 2: при использовании типа проверки фильтра «> «Значение», где название параметра
      «nTopCount» — ограничить количество сверху
      «bShowAll» — разрешить вывести все элементы при постраничной навигации
      «iNumPage» — номер страницы при постраничной навигации
      «nPageSize» — количество элементов на странице при постраничной навигации
      «nElementID» — ID элемента который будет выбран вместе со своими соседями. Количество соседей определяется параметром nPageSize. Например: если nPageSize равно 2-м, то будут выбраны максимум 5-ть элементов. Соседи определяются порядком сортировки заданным в параметре arOrder (см. выше) .
      При этом действуют следующие ограничения:

      • Если элемент с таким ID отсутствует в выборке, то результат будет не определен.
      • nElementID не работает, если задана группировка (см. параметр arGroupBy выше).
      • в параметре arSelect обязательно должено присутствовать поле «ID».
      • обязательно должна быть задана сортировка arOrder.
      • поля в сортировке catalog_* не учитываются и результат выборки становится не определенным.
      • в выборку добавляется поле RANK — порядковый номер элемента в «полной» выборке.

      Необязательное. По умолчанию false — не ограничивать выводимые элементы.
      Если передать в параметр arNavStartParams пустой массив, то ставится ограничение на 10 выводимых элементов. 3.2.1 arSelectFields Массив возвращаемых полей элемента. В списке полей элемента можно сразу выводить значения его свойств. Обязательно должно быть использованы поля IBLOCK_ID и ID, иначе не будет работать корректно. Кроме того, также в качестве одного из полей необходимо указать PROPERTY_

      , где PROPERTY_CODE — ID или символьный код (задается в верхнем регистре, даже если в определении свойств инфоблока он указан в нижнем регистре). В результате будет выведены значения свойств элемента в виде полей PROPERTY_

      _VALUE — значение; PROPERTY_

      _ID — код значения у элемента; PROPERTY_

      _ENUM_ID — код значения (для свойств типа список).
      При установленном модуле торгового каталога можно выводить и цены элемента. Для этого в качестве одного из полей необходимо указать *CATALOG_GROUP_

      , где PRICE_CODE — ID типа цены.
      Так же есть возможность выбрать поля элементов по значениям свойства типа «Привязка к элементам». Для этого необходимо указать PROPERTY_

      . , где PROPERTY_CODE — ID или символьный код свойства привязки, а FIELD — поле указанного в привязке элемента. См. ниже «Поля связанных элементов для сортировки».
      Можно выбрать и значения свойств элементов по значениям свойства типа «Привязка к элементам». Для этого необходимо указать PROPERTY_

      , где PROPERTY_CODE — ID или символьный код свойства привязки, а PROPERTY_CODE2 — свойство указанного в привязке элемента.

      По умолчанию выводить все поля. Значения параметра игнорируются, если используется параметр группировки arGroupBy.

      3.2.1 * — Параметры вида CATALOG_*** устарели в версии 18.6.200 модуля Информационные блоки. Подробнее: Товары и CIBlockElement::GetList ** — В случае, если параметром arGroupBy передается пустой массив — данные параметра arNavStartParams — игнорируются.

      Частные случаи

      Рассмотрим несколько частных случаев фильтрации:

      • $arFilter = array(«PROPERTY_CML2_SCAN_CODE») =>false — используется, чтобы выбрать все элементы с незаполненными свойствами;
      • $arFilter = array(«PROPERTY_CML2_SCAN_CODE») =>»» — используется, чтобы выбрать все элементы;
      • $arFilter = array(«PROPERTY_CML2_SCAN_CODE») =>qwe — при фильтрации элементов проверяется точное совпадение с заданными свойствами;
      • $arFilter = array(«?PROPERTY_CML2_SCAN_CODE») =>we» — при фильтрации элементов проверяется наличие заданной подстроки свойствах.
      • $arFilter = array(«!PROPERTY_CML2_SCAN_CODE») =>false — используется, чтобы выбрать только элементы с заполненными свойствами;
      • $arFilter = array(«!PROPERTY_CML2_SCAN_CODE») =>qwe — при фильтрации элементов проверяется точное совпадение с заданными свойствами;
      • $arFilter = array(«!?PROPERTY_CML2_SCAN_CODE») =>we — при фильтрации элементов проверяется отсутствие заданной подстроки свойствах.

      Фильтр со сложной логикой

      Параметр arFilter может содержать вложенные фильтры. Ключом массива вложенного фильтра должно быть число. Например:

      • $arFilter = array(«NAME» => «A%», array(.. «фильтр»>. ), «IBLOCK_ID» => $IBLOCK_ID);

      Вложенность фильтров теоретически не ограничена.
      Так же условия фильтра могут объединяться не только по условию «И», но и «ИЛИ». Для этого в качестве фильтруемого поля надо указать «LOGIC». Может принимать два значения: «AND» и «OR». По умолчанию — «AND». Например выберем маленькие зрелые и большие не зрелые апельсины:

      В этом примере фильтр по свойствам апельсинов является подфильтром инфоблока фруктов.

      Поля связанных элементов

      • ID — числовой идентификатор элемента;
      • TIMESTAMP_X — время последней модификации в полном формате сайта;
      • MODIFIED_BY — идентификатор пользователя вносившего последние правки;
      • DATE_CREATE — время создания элемента в полном формате сайта
      • CREATED_BY — идентификатор пользователя создавшего элемент;
      • IBLOCK_ID — числовой идентификатор инфоблока элемента;
      • ACTIVE — активность (Y|N);
      • ACTIVE_FROM — начало активности в полном формате сайта;
      • ACTIVE_TO — окончание активности в полном формате сайта;
      • SORT — значение сортировки;
      • NAME — имя элемента;
      • PREVIEW_PICTURE — идентификатор изображения;
      • PREVIEW_TEXT — текст анонса;
      • PREVIEW_TEXT_TYPE — тип текста анонса (html|text);
      • DETAIL_PICTURE — идентификатор изображения;
      • DETAIL_TEXT — детальное описание;
      • DETAIL_TEXT_TYPE — тип детального описания (html|text);
      • SHOW_COUNTER — счетчик показов;
      • SHOW_COUNTER_START — время первого показа элемента в полном формате сайта;
      • CODE — символьный код элемента;
      • TAGS — теги;
      • XML_ID — внешний идентификатор;
      • IBLOCK_SECTION_ID — минимальный идентификатор раздела элемента (если задан);

      Дополнительно присоединяется таблица инфоблоков:

      • IBLOCK_TYPE_ID — идентификатор типа инфоблока;
      • IBLOCK_CODE — символьный код инфоблока;
      • IBLOCK_NAME — название инфоблока;
      • IBLOCK_EXTERNAL_ID — внешний код инфоблока;
      • DETAIL_PAGE_URL — путь к элементу;
      • LIST_PAGE_URL — путь к списку элементов;

      Возвращаемое значение

      Примеры использования

      Пример можно модернизировать, добавив вывод свойств для каждого элемента. Удобно использовать, не прибегая к GetProperty. В случае использования Инфоблоков 2.0 необходимо в $arSelect добавить IBLOCK_ID.

      Пользовательские комментарии

      Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

      Для этого нужно всего лишь авторизоваться на сайте

      Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

      Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

      //Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      //Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      //Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      //Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      //Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      Если нужно посчитать количество записей

      if(\Bitrix\Main\Loader::includeModule(‘iblock’)) <
      $arFilter = [
      «IBLOCK_ID»=>1,
      «ACTIVE»=>»Y»,
      «=PROPERTY_18″=>[«vase»]
      ];
      $db = \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’]);

      echo \CIBlockElement::GetList([], $arFilter, false, [], [‘ID’])->AffectedRowsCount();
      >

      *CATALOG_TYPE — фильтрация по типу товара;

      Может принимать значения

      простой: 1
      товар с предложениями: 3
      невалидный товар с предложениями: 6
      комплект: 2

      Получить cвойство тип (HTML/TEXT). Символьный код свойства HTML_CONTENT

      Источник

      Читайте также:  Чем отмыть белковые пятна
    Оцените статью