Шаблоны собственных компонентов веб-проекта, согласно общеизвестной логике шаблона проектирования "Model-View-Controller", должны содержать исключительно логику формирования верстки.

Controller - представлен ядром компонента . Задача "Контроллера" - обработать входные параметры, сделать их безопасными, обратиться к "Модели", обработать информацию и в подготовленном виде передать ее "Виду".

Model - представлена API модулей платформы Битрикс. Задача "Модели" - сохранить данные соответственно контексту предметной области, искать информацию по заданным критериям.

View - представлен шаблоном компонента. Задача "Вида" или шаблона - визуализировать информацию для Посетителя. В случае веб-приложений - сформировать верстку корректную.

Настоятельно рекомендуется в шаблонах компонентов заниматься исключительно формированием верстки на базе предоставленной "Контроллером" информации в виде массивов или объектов, не делать запросов к "Модели" и другим ресурсам. Код шаблона должен быть простым и понятным не только программисту, но и верстальщику.

Наличие в шаблоне компонента логики, присущей "контроллеру" или "модели" - ведет к дублированию, усложнению архитектуры и, соответственно, не только увеличивает вероятность ошибок при разработке, но и удорожанию развития и дальнейшей поддержке веб-решения.

Шаблоны собственных компонентов должны содержать простую логику, занимающуюся формированием верстки на основании предварительно подготовленных и переданных шаблону данных. Получение и обработка данных происходит вне шаблона компонента.