Первый вариант к сожалению не универсальный получится. То есть если контент внутри обёртки будет отличаться (ну, если компонент не один раз подключается и могут быть разные блоки внутри обёртки), то придётся несколько шаблонов делать или в одном шаблоне пытаться как-то совместить все возможные наборы с доп содержимым.
А вот вариант с css конечно хорош и я бы им лучше воспользовался, но тут уже недоволен сеошник (из-за того, что поисковики увидят то, что скрыто от пользователей) :(
Я тут подумал, как вариант, можно сделать для внешнего кода обёртку в виде html-коммента до обёртки компонента и после неё. А на событии OnEndBufferContent выпиливать всё между этими комментами.
P.S. Комменты добавлять через AddViewContent и выводить во внешнем коде.
N, как вариант конечно...но это же лишние запросы будут. На странице три подобных компонента выводятся, и получается, что надо ещё три GetList делать для проверки.
Антон, большое спасибо. Единственное что, использовал событие OnBeforeEndBufferContent и не метод SetViewTarget (такого не обнаружил), а AddViewTarget и вроде всё ок.
Забыл ещё написать, что помимо разделов и элементов есть ещё теги.
Пока что урлы такие:
Раздел: /projects/категория
Тег: /projects/t-тег или /projects/категория/t-тег
Элемент: /projects/категория/элемент
Андрей Николаев, ничего про импорт в CMS не нашёл. Возможно, что такой финт как раз запрещён из-за проблем с совместимостью. В любом случае за инфу спасибо.
А вот вариант с css конечно хорош и я бы им лучше воспользовался, но тут уже недоволен сеошник (из-за того, что поисковики увидят то, что скрыто от пользователей) :(