Skip to content

AlexIvFreeworld/components

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

components

Набор пользовательских компонентов 1С-Битрикс в пространстве имён ialex.

Репозиторий рассчитан на размещение в каталоге компонентов сайта, чтобы итоговая структура была вида local/components/ialex/... или bitrix/components/ialex/....

Состав

  • ialex:complex.additional — комплексный компонент для инфоблока с поддержкой страниц списка, раздела, детальной страницы, поиска и RSS.
  • ialex:blocks.additional — подключение произвольных include-файлов сайта по списку путей.
  • ialex:check.recipients.additional — служебный компонент для поиска получателей в почтовых шаблонах Bitrix.
  • ialex:widget.tg — виджет-ссылка на Telegram с настраиваемыми изображением, текстами и ссылкой.

Структура

ialex/
├── blocks.additional/
├── check.recipients.additional/
├── complex.additional/
└── widget.tg/

Каждый компонент содержит стандартную для Bitrix структуру: .description.php, .parameters.php, class.php или component.php, каталог lang/ и шаблоны в templates/.

Требования

  • установленный 1С-Битрикс;
  • модуль iblock для ialex:complex.additional;
  • доступ к почтовым шаблонам и сайтам Bitrix для ialex:check.recipients.additional;
  • корректные include-файлы в корне сайта для ialex:blocks.additional;
  • непустой параметр LINK для отображения ialex:widget.tg.

Установка

  1. Скопируйте репозиторий в каталог компонентов сайта.
  2. Убедитесь, что компоненты доступны по пути local/components/ialex/* или bitrix/components/ialex/*.
  3. Если репозиторий клонируется отдельной папкой components, перенесите из него каталог ialex в каталог компонентов проекта.
  4. После обновления кода очистите кеш компонентов Bitrix.

Использование

ialex:complex.additional

Компонент работает как обёртка над стандартными bitrix:catalog.section.list, bitrix:news.list, bitrix:news.detail и bitrix:search.page. Поддерживает SEF_MODE, разрешает разделы по SECTION_ID, SECTION_CODE, SECTION_CODE_PATH, а элементы по ELEMENT_ID и ELEMENT_CODE.

<?$APPLICATION->IncludeComponent(
    "ialex:complex.additional",
    ".default",
    [
        "IBLOCK_TYPE" => "content",
        "IBLOCK_ID" => 1,
        "NEWS_COUNT" => 20,
        "SEF_MODE" => "Y",
        "SEF_FOLDER" => "/news/",
        "SEF_URL_TEMPLATES" => [
            "news" => "",
            "section" => "#SECTION_CODE_PATH#/",
            "detail" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/",
            "search" => "search/",
            "rss" => "rss/",
            "rss_section" => "#SECTION_CODE_PATH#/rss/",
        ],
    ]
);?>

ialex:blocks.additional

Компонент принимает массив PROPERTY_CODE, где каждый элемент — путь к include-файлу относительно корня сайта. Если файл существует, он подключается через $APPLICATION->IncludeFile().

<?$APPLICATION->IncludeComponent(
    "ialex:blocks.additional",
    "blocks",
    [
        "PROPERTY_CODE" => [
            "include/main_block_1.php",
            "include/mission_1.php",
        ],
    ]
);?>

ialex:check.recipients.additional

Служебный компонент для администраторов. Показывает форму поиска по сайтам, идентификаторам почтовых шаблонов и полям EMAIL_FROM, EMAIL_TO, CC, BCC. В шаблоне результат отображается только для администратора.

<?$APPLICATION->IncludeComponent(
    "ialex:check.recipients.additional",
    ".default",
    []
);?>

ialex:widget.tg

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

<?$APPLICATION->IncludeComponent(
    "ialex:widget.tg",
    ".default",
    [
        "IMG_SRC" => "/images/tg.png",
        "TITLE" => "Подпишись на наш Telegram",
        "TEXT" => "Информация о новинках и актуальные акции",
        "TEXT_LINK" => "Подписаться",
        "LINK" => "https://t.me/example",
    ]
);?>

Особенности

  • ialex:blocks.additional не фильтрует пути к include-файлам, поэтому не стоит передавать в него пользовательский ввод.
  • ialex:check.recipients.additional использует ORM Bitrix и таблицы почтовых шаблонов EventMessageTable.
  • ialex:complex.additional в шаблоне детальной страницы дополнительно подключает ialex:blocks.additional.
  • Локализация компонентов хранится в lang/, а настраиваемые параметры описаны в .parameters.php и шаблонных .parameters.php.

Разработка

  • Основная логика новых компонентов вынесена в class.php.
  • Шаблоны компонентов лежат в templates/.
  • Перед деплоем имеет смысл проверять работоспособность компонентов на стенде Bitrix и очищать кеш после изменений маршрутизации или параметров.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors