iblock: sf.iblock.list, sf.iblock.detail, sf.iblock.section, sf.iblock.table, sf.iblock.calendar, sf.iblock.filter
Эта группа закрывает типовой набор сценариев работы с инфоблоками в публичной части: вывести список, показать детальную страницу, построить страницу раздела, отдать табличное представление, календарь и фильтрацию.
Важно понимать роль этих компонентов в SF4-логике:
- чаще всего вы не вызываете их напрямую на странице, а подключаете через блоки, которые уже внутри себя вызывают нужный компонент;
- в задачах “быстро проверить данные” или “собрать простую страницу без блока” их можно включать напрямую стандартным способом Bitrix.
Что обычно означает каждый компонент по назначению:
simai:sf.iblock.list— списки элементов (новости, статьи, карточки, каталоги в упрощённом виде).simai:sf.iblock.detail— детальная карточка элемента.simai:sf.iblock.section— страница раздела: вывод разделов/подразделов и/или элементов.simai:sf.iblock.table— табличный вывод (когда важнее структура столбцов, сортировка, плотное представление).simai:sf.iblock.calendar— календарный вывод элементов (события/расписания).simai:sf.iblock.filter— фильтр по инфоблоку (как отдельный блок/часть страницы, обычно связан со списком).
Практическое правило для документации и разработки: точный набор параметров всегда смотреть в .parameters.php конкретного компонента, потому что в SF4 часть параметров может быть “обвязкой” вокруг базовых bitrix-настроек, плюс встречаются параметры для связки с гридом/блоками.
Пример прямого включения (минимальный “скелет”, параметры — по месту):
<?php
$APPLICATION->IncludeComponent(
'simai:sf.iblock.list',
'.default',
[
// параметры смотреть в .parameters.php компонента
]
);
hlblock: sf.highloadblock.grid
Компонент simai:sf.highloadblock.grid решает задачу “показать HL-блок как таблицу/грид”. Это важный элемент SF4-подхода, потому что HL-блоки часто используются как справочники, настройки, сущности тикетов/обращений и т.п., где табличное представление — базовый UI.
Характерное применение:
- вывод списков сущностей из HL-блока с колонками;
- фильтрация/поиск/сортировка (в зависимости от реализованного набора параметров и включённых возможностей).
grid/block: sf.grid, sf.block, sf.block.view, sf.block.property, sf.block.edit, sf.block.row.property, sf.block.col.property
Это центральная группа SF4. Важно описывать её не как “ещё один компонент”, а как инфраструктуру сборки страниц:
simai:sf.grid— компонент, который собирает страницу из строк/колонок/областей и рендерит выбранные блоки.simai:sf.block*— набор компонентов, которые обслуживают “мир блоков”: вывод, настройки, редактирование, формы свойств для row/col/area.
Практический смысл для разработчика решения:
-
Публичный вывод страницы обычно сводится к тому, что подключается нужное представление (view), а внутри него вызывается
simai:sf.gridс конфигурацией. -
Визуальное редактирование и “инлайн-настройки” работают благодаря компонентам семейства
sf.block*— они дают UI и точки сохранения параметров.
Что важно зафиксировать (и это полезно новичку):
- у
sf.gridесть базовые параметры вродеBLOCK_SECTION,EXPERT_MODE,ROW_COUNT, а дальше компонент строит динамический набор параметров для строк/колонок/областей; - список шаблонов для областей (например,
AREA_*_TEMPLATE) подбирается из доступных блоков в текущей секции.
Минимальный пример включения sf.grid (как “точка входа” для страницы, если вы собираете конфигурацию вручную):
<?php
$APPLICATION->IncludeComponent(
'simai:sf.grid',
'.default',
[
'BLOCK_SECTION' => 'main',
'EXPERT_MODE' => 'N',
'ROW_COUNT' => '1',
// дальше: ROW_*/COL_*/AREA_* параметры и параметры блоков
]
);
Но в реальных проектах SF4 чаще используется подход: включаем view-файл, а он уже содержит этот вызов с нужным набором параметров.
feedback/forms: sf.feedback, sf.feedback.appeal, sf.feedback.vote, sf.message
Эта группа отвечает за интерактивные сценарии “форма → отправка → обработка → сообщение пользователю”.
simai:sf.feedback— базовая форма обратной связи (универсальная).simai:sf.feedback.appeal— форма обращения (как правило, ближе к “тикету/обращению в организацию”).simai:sf.feedback.vote— опрос/голосование (в UI может быть оформлен как “голосовалка”).simai:sf.message— вывод сообщений/результатов/статусов (часто используется как часть UX вокруг формы).
Из практики документации удобно описывать эти компоненты через:
- входные данные (какие поля показываем),
- куда отправляется/как обрабатывается,
- как показываются статусы (успех/ошибка),
- как компонент используется в блоках (например, “форма в сайдбаре”, “форма на странице контактов”).
Дополнение, которое встречается в компонентном наборе: есть служебный компонент simai:feedback.error — его логично относить к “инфраструктуре форм” как “вывод ошибки/ошибочных состояний”.
content/ui: sf.share, sf.promo, sf.banner.main, sf.cookie.notification, sf.pdf.viewer, sf.rss.show, sf.weather, sf.up, sf.swiper.nav
Это компоненты, которые закрывают “контентные” и “UI-виджеты” задачи и обычно подключаются:
- либо напрямую в шаблоне/включаемых областях,
- либо (чаще) внутри блоков, чтобы виджет был частью страницы грида.
Коротко по назначению:
simai:sf.share— блок шаринга (иконки/ссылки соцсетей).simai:sf.promo— промо-контент (баннер/призыв/карточка промо).simai:sf.banner.main— основной баннер/баннерная зона (часто для главной).simai:sf.cookie.notification— уведомление о cookie.simai:sf.pdf.viewer— просмотр PDF в интерфейсе.simai:sf.rss.show— вывод RSS-ленты/элементов из RSS.simai:sf.weather— виджет погоды.simai:sf.up— кнопка “вверх”.simai:sf.swiper.nav— навигация/управление слайдером (как часть UI вокруг Swiper).
Из полезных “служебных” рядом с UI: встречается simai:info.help — его удобно описывать как “компонент справки/подсказки”, если вы документируете интерфейсы панели/настроек.
navigation/menu: sf.menu / sf.menu.sections / menu.list / sf.breadcrumb
В SF4 навигация обычно собирается как часть грида через блоки (header/sidebar), но под капотом используются отдельные компоненты.
Что важно уточнить и закрепить терминологически (чтобы не путаться):
- в наборе компонентов присутствует
simai:sf.menu(а неsf.menu.list) — это отдельный компонент семействаsf.*; - присутствует
simai:menu.list— компонент без префиксаsf., но он всё равно поставляется в пространствеsimai:*; - для разделов меню есть
simai:sf.menu.sections; - для хлебных крошек есть
simai:sf.breadcrumb(в плане часто пишут простоbreadcrumb, но в SF4-наборе он именноsf.breadcrumb).
Как обычно распределяют ответственность:
sf.menu/menu.list— вывод меню (в зависимости от того, какой сценарий нужен: простое меню, особая структура, дополнительные данные).sf.menu.sections— меню “по структуре разделов”.sf.breadcrumb— хлебные крошки как элемент навигации.- дополнительно присутствуют
simai:pagenavigation— компонент постраничной навигации (полезен для списков/таблиц).
media/forms: sf.photo.add, sf.video.add, sf.user.list, sf.property.edit
Эти компоненты относятся к сценариям “форма + сущность”, но не обязательно к классическому feedback:
simai:sf.photo.add— добавление фото (как действие/форма).simai:sf.video.add— добавление видео.simai:sf.user.list— вывод списка пользователей.simai:sf.property.edit— редактор настроек (в документации это важно связывать с тем, где живут настройки и как они сохраняются).
Дополнительно в наборе есть simai:property.news.calendar и simai:sf.section.main.map — это уже “специализированные” компоненты, их лучше документировать отдельными мини-страницами по мере появления реального использования в решениях.
wizard: sf.wizard, sf.wizard.stage
Эти компоненты — UI-обвязка для мастеров установки/обновления:
simai:sf.wizard— “контейнер” мастера, который ведёт пользователя по шагам.simai:sf.wizard.stage— компонент конкретного шага (stage), который отрисовывает интерфейс шага и связывается с action-цепочкой.
В документации по компонентам здесь важно не уходить в детали всех action-скриптов (это отдельный раздел), а зафиксировать:
- что мастер — это сценарий, состоящий из шагов;
- что
sf.wizardиsf.wizard.stage— именно UI-уровень; - что фактическая работа (файлы/архивы/инфоблоки/настройки) делается action-скриптами мастера.
Служебный task.selector
Не найдено в локальных данных. В текущем составе компонентов, который есть в проекте, компонента task.selector не обнаружено. Если он есть в других решениях/ветках, для документации понадобится либо путь поставки, либо пример подключения.