Заказчику потребовался компонент, выводящий простой HTML-код (разметку) на сайте. Почему именно компонент? Потому что сочетает в себе html/js/css - таким образом, создаются определенные "блоки", которые заказчик сам хочет добавлять. Блоки довольно простые (стилизованный текст и картинки), и для их реализации вполне подошел бы визуальный редактор. Поэтому хотел в параметрах компонента добавить поле с HTML-кодом и затем выводить значение этого поля в шаблоне компонента.
Если есть идеи, как реализовать лучше, рад буду их узнать.
Тема популярная и финтов ушами много.
Один из возможных сальтов ухами таков: сделать ИБ, назвать его, например, "Контентные блоки". Добавить 4 свойства: HTML(тип:строка), CSS(тип:строка), JS(тип:строка), IMAGES (тип:файл,множественное). (Можно для каких-то св-в задействовать поля PREVIEW_TEXT и DETAIL_TEXT)
+Делаете простенький компонент, у которого в настройках только выбор элемента ИБ для отображения. Этот компонент выводит св-ва html, css и js (тока css и js в соответствующих обёртках). Если нужно в этот блок вставить изображения, то вы их загружаете в св-во IMAGES, а потом полученный путь вставляете в html.
Мне нравится это решение тем что все контентные блоки не разбросаны по сайту, а хранятся в базе. Т.е. можно например какие-то выключить сразу оптом, если какая-то акция закончилась (не нужно скакать по всему сайту). Ещё плюс - если удалить элемент ИБ то вместе с ним удалятся и его изображения, тем самым мы меньше загаживаем b_file, /upload/ и систему в целом. Контентные блоки в ИБ можно разносить по секциям, становится актуально когда их кол-во переваливает за 100.