Как лучше реализовать компонент для 1С-Битрикс?

Добрый день,

создается модуль выгрузки данных из crm в инфоблоки битрикса.
Необходимо написать компонент для вывода полученной информации.

Вполне подходит bitrix:news, но необходимо добавить свои поля для входных параметров (через виз. редактор) для настроек данных в шаблоне.

Что лучше сделать:
1. Свой велосипед используя api. Причем будет почти копия bitrix:news
2. Расширить компонент bitrix:news при помощи .parameters.php в шаблоне. Но как лучше поступить, т.к. модуль будет установлен не на 1 сайт.
3. Есть другое решение?

Возможно стоит при установке модуля копировать заранее подготовленный шаблон для компонента bitrix:news в папку /bitrix/templates/#name#/components/bitrix/news чтобы не писать отдельный почти идентичный компонент?
  • Вопрос задан
  • 3096 просмотров
Пригласить эксперта
Ответы на вопрос 2
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Если нужно изменить только шаблон, а сам комплексный компонент news устраивает, тогда зачем изобретать ядерный велосипед? Дополните в .parameters.php всё что вам нужно, а если позднее нужно будет доработать логику, то result_modifier.php и component_epilog.php вам в помощь.

Ну и вы верно предполагаете, при установке модуля копируйте свой шаблон в дефолтный шаблон сайта, только на всякий случай в названии шаблона news добавьте префикс - название модуля.
Ответ написан
Комментировать
murzix
@murzix
Я что-то нажал и оно само
Лучше создать свой шаблон в своём пространстве имён. Плюсы следующие:
1. Проще развивать компонент. Не нужно пользоваться костылями вроде result_modifier.php
2. Нет ненужных запросов к API, следовательно и к БД.
3. Гораздо понятнее предназначение компонента, bitrix:news это компонент вывода новостей. У вас там новости?

Файлы шаблона компонента стоит копировать в шаблон сайта, только если они специфичны для данного сайта и неотделимы от него. Если компонент универсален, то проще реализовать универсальный .default шаблон в папке компонента, который можно будет подключить на любом шаблоне любого сайта без копирования чего либо куда либо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы