Bitrix catalog sections top

Bitrix catalog sections top

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

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/

Читайте также:  Hp pavilion dv6 6002er драйвера

Однако этот шаблон не подтягивается — вместо него подтягивается шаблон из /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 цена выводится в этой строчке:

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

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

А зачем вы скопировали компонент? Или кастомизировали его логику? Если просто шаблон дорабатывали- лучше всетаки, скопировать именно шаблон компонента в шаблон своего сайта

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

А зачем вы скопировали компонент? Или кастомизировали его логику? Если просто шаблон дорабатывали- лучше всетаки, скопировать именно шаблон компонента в шаблон своего сайта
Михаил, добрый вечер!
Аналогичная проблема.. Просто копирование шаблона компонента catalog.item в папку шаблона в local результата не приносит. В Ваших уроках используется старый шаблон каталога. Там проблем с редактированием карточки товара в списке проблем нет. А вот с новым каталогам — проблемка.. Тянет почему-то упорно шаблон из папки битрикс.. Может сталкивались с таким недугом?

Заметки разработчика

Кроме создания сайтов, я так же веду блог с заметками о вебразработке, записываю бесплатные видеоуроки и содержу форум, на котором можно задавать вопросы и просто общаться. Заметки, преимущественно — это короткие или подробные рецепты, по реализации часто требуемого функционала- в рамках разработки сайтов на 1С-Битрикс

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

Иногда, необходимо вывести имя пользователя добавившего элемент инфоблока. Например, автора новости или автора объявления на информационной доске объя.

Недавно столкнулся с задачкой по доработке сайта на Битрикс 10-ой версии. Для начала распаковал архив на своем локальном сервере, так как предпочитаю .

Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать всего 4 товара. при этом покупателю не доступна возможность.

Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный на моем ютуб канале: "Ускорение работы сайта н.

Если у товара несколько торговых предложений и у каждого предложения разные цены, иногда требуется вывести минимальную цену торговых предложений, отсо.

© 2011—2019 Разработка сайтов: ИП Базаров, ОГРНИП: 315784700173692.
Работает на 1С-Битрикс: Бизнес.
Сайт может содержать материалы 18+ Политика конфиденциальности

Информация на сайте, не является публичной офертой.
Копирование материалов сайта запрещено.
Дизайн, верстка и сборка сайта: Михаил Базаров

Выводит в таблице top элементов из всех разделов в соответствии с заданной сортировкой (используется как правило на главной странице сайта). Компонент разработан специально для решения sitestore.

Читайте также:  Battlefield 2 ключ лицензионный

В визуальном редакторе компонент расположен по пути Решение: Магазин > Каталог > Top элементов каталога.

Секции настроек компонента:

Описание параметров

Поле Параметр Описание
Основные параметры
Тип инфо-блока IBLOCK_TYPE Указывается один из созданных в системе типов информационных блоков.
Инфо-блок IBLOCK_ID Для выбранного типа инфоблоков указывается идентификатор информационного блока, из которого будет выводиться top элементов сгруппированных по разделам.
Источник данных
По какому полю сортируем элементы ELEMENT_SORT_FIELD Указывается поле, по которому будет происходить сортировка элементов:

  • SHOWS – по количеству просмотров в среднем;
  • SORT – по индексу сортировки;
  • TIMESTAMP_X – по дате изменения;
  • NAME – по названию;
  • ID – по идентификатору;
  • ACTIVE_FROM – по дате активности с;
  • ACTIVE_TO – по дате активности по.
Порядок сортировки элементов ELEMENT_SORT_ORDER Задается порядок сортировки элементов:

  • ASCПо возрастанию;
  • DESCПо убыванию.
Шаблоны ссылок
URL, ведущий на страницу с содержимым раздела SECTION_URL Указывается путь к странице с детальным содержимым раздела.
URL, ведущий на страницу с содержимым элемента раздела DETAIL_URL Указывается путь к странице с детальным описанием элемента раздела.
URL, ведущий на страницу с корзиной покупателя BASKET_URL Указывается путь к странице с корзиной покупателя.
Название переменной, в которой передается действие ACTION_VARIABLE Указывается имя переменной, в которой передается действие: ADD_TO_COMPARE_LIST, ADD2BASKET и т.д. Значение поля по умолчанию ACTION. Значение параметра должно быть уникальным среди всех используемых компонентов на одной странице.
Название переменной, в которой передается код товара для покупки PRODUCT_ID_VARIABLE Задается имя переменной, в которой будет передаваться идентификатор товара для покупки.
Название переменной, в которой передается количество товара PRODUCT_QUANTITY_VARIABLE Указывается имя переменной, в которой будет передаваться количество товара.
Название переменной, в которой передаются характеристики товара PRODUCT_PROPS_VARIABLE Указывается имя переменной, в которой будут передаваться характеристики товара.
Название переменной, в которой передается код группы SECTION_ID_VARIABLE Задается имя переменной, в которой будет передаваться идентификатор раздела.
Дополнительные настройки
Выводить кнопку сравнения DISPLAY_COMPARE [Y|N] При отмеченной опции будет выведена кнопка Сравнить, с помощью которой элемент добавляется в список сравнения.
Внешний вид
Количество выводимых элементов ELEMENT_COUNT Указывается количество элементов, отображаемых на одной странице. Все элементы будут выведены с помощью постраничной навигации.
Количество элементов выводимых в одной строке таблицы LINE_ELEMENT_COUNT Указывается количество элементов выводимых в одной строке таблицы.
Свойства PROPERTY_CODE Указываются свойства инфоблока, которые будут отображены при показе элементов в таблице. При выборе пункта (не выбрано)-> и без указания кодов свойств в строках ниже, свойства выведены не будут.
Необходимый для отображения флаг FLAG_PROPERTY_CODE Выбирается необходимый для отображения параметр каталога.
Цены
Тип цены PRICE_CODE Указывается тип цены для выводимых элементов. Если не задан ни один из типов, то цена товара и кнопки Купить и В корзину показаны не будут.
Использовать вывод цен с диапазонами USE_PRICE_COUNT [Y/N] При отмеченной опции будут отображаться цены всех типов на товары.
Выводить цены для количества SHOW_PRICE_COUNT Параметр определяет количество единиц товара, для которых выводить стоимость.
Включать НДС в цену PRICE_VAT_INCLUDE [Y|N] При отмеченной опции цены будут показаны с учетом НДС.
Характеристики товара PRODUCT_PROPERTIES Выбираются характеристики товара.
Разрешить указание количества товара USE_PRODUCT_QUANTITY [Y|N] При установленной опции будет разрешено указание количества товара.
Настройки кеширования
Тип кеширования CACHE_TYPE Тип кеширования:

  • A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
  • Y — Кешировать: для кеширования необходимо определить время кеширования;
  • N — Не кешировать: кеширования нет в любом случае.
Время кеширования (сек.) CACHE_TIME Время кеширования, указанное в секундах.
Учитывать права доступа CACHE_GROUPS [Y|N] При отмеченной опции будут учитываться права доступа при кешировании.
Читайте также:  Adb интерфейс что это

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

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

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

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

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

Довольно часто при разработке интернет-магазина на битриксе возникает потребность вывести список товара в виде слайдера (Например, на главной странице). Наиболее часто товар фильтруется по какому-либо свойству (Новинка, хит продаж, скидка и тому подобное). Собственно, в данной заметке рассмотрен вопрос о том, как реализовать данный блок на сайте.

Что для этого требуется?

  1. Подключенная библиотека jquery и какой-нибудь плагин слайдера. В рамках данной статьи используется slick slider (Личные предпочтения автора, не более того).
  2. Копия шаблона компонента bitrix:catalog.section (в ней и будет происходить основная работа)

В рамках данного примера будет рассмотрен «классический» слайдер (Картинка-название-цена-кнопка) для простоты изложения. Стоит заметить, что в данном случае обрезана часть функционала (например, ajax добавление в корзину, которое идет по-умолчанию в новых шаблонах битрикса).

Свойством, в данном случае, выступает булевое значение «хит». В случае, если у товара данное свойство равно единице, на блок с товаром в слайдере добавляется лейбл «хит продаж».

БЛОК 1. Работа с шаблоном компонента

Первым делом, в файле template.php следует закомментировать (или удалить) весь имеющийся код (кроме самой первой строки ( )).

Далее, можно приступать именно к разработке шаблона слайдера. Предположим, что блок со слайдером будет занимать всю доступную ширину рабочей области, т.е. при подключенном бутстрапе блок будет обернут в:

Далее, при желании, можно добавить еще один div, в котором пропишем отступы и центрирование элементов. Очень желательно добавить к данному div’у какой-нибудь класс (пригодится позже).

После этих действий начинается основная работа по кастомизации шаблона компонента. Первым делом, следует добавить цикл foreach (в удобном разработчику синтаксисе) следующего вида:

И внутри данного цикла начинается разработка шаблона каждого товара в слайдере. Ниже приведен html и php код для шаблона товара, далее дается комментарий по основным моментам.

Автор заранее приносит извинения за инлайновые стили, достаточно вредная привычка, от которой тяжело отказаться.

Итак, комментарии, относительно вышеприведенного кода:

Как видно, блок с классом sale_main_main — это родительский контейнер для отдельного товара, в нем задается высота, ширина, цвет бэкграунда и прочие «общие» стили для товара в слайдере.

Блок с классом sale_main_skidka — это блок, который отвечает за вывод лейбла с надписью «Хит продаж». Учитывая то, что в данном слайдере все товары отфильтрованы под данному свойству, то и лейбл применяется ко всем товарам. — выводит непосредственно текст «Хит продаж». Само значение данной переменной хранится в языковом файле в папке lang в шаблоне компонента.

Далее все должно быть довольно очевидно: Ссылка на детальную страницу элемента — вывод фотографии, ссылка на детальную страницу элемента — вывод названия.

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

В конце идет кнопка со ссылкой на детальную страницу элемента, тут ничего сложного нет.

БЛОК 2. «Прикручиваем» слайдер к шаблону компонента.

Ранее, мы добавили класс к родительскому контейнеру (который идет до цикла foreach). Предположим, что класс у контейнера называется «your-class». Теперь, для того, чтобы наши товары выводились в slick слайдере, нужно добавить небольшой javascript-код. Он выглядит следующим образом:

Ссылка на основную публикацию
Adblock detector