Фишка вот в чем. Есть компонент в Bitrix, все работает. Ок. Нужно просто изменить поступающие данные в компонент при этом не копировать его шаблон вообще.

И так. Например, нужно изменить данные $arParams для компонента crm.interface.filter шаблона flat Копировать шаблон к себе, не нужно. Создаем зеркальные файлы. Данные поступят сначало на наши файлы, а после битрикс пробросит их оригиналу.

Cоздаем у себя точь в точь директорию того шаблона из компонента которую хотим расширить /local/templates/.default/components/bitrix/crm.interface.filter/flat в ней само собой два файла должны быть result_modifier.php и template.php

По поводу файла template.php, его сущ. обязательно иначе финт не сработает. Пропишите проверку ядра и все, хватит.

<?php
defined('B_PROLOG_INCLUDED') || die();
/**
* @global CMain $APPLICATION
* @var array $arParams
* @var array $arResult
*/
view raw template.php hosted with ❤ by GitHub

Дальше, дело с result_modifier.php в ней обязательно эти строчки

<?php
defined('B_PROLOG_INCLUDED') || die();
/**
* @global CMain $APPLICATION
* @var array $arParams
* @var array $arResult
*/
// зеркально указываем оригинальное место нахождение директори шаблона, которую мы хотим расширить косвенно
$this->__folder = '/bitrix/components/bitrix/crm.interface.filter/templates/flat';
// указываем на сам шаблон
$this->__file = '/bitrix/components/bitrix/crm.interface.filter/templates/flat/template.php';
// эти строчки нужны чтобы сработали стили и скрипты
$this->__hasCSS = true;
$this->__hasJS = true;

И все, теперь у нас в руках косвенное расширение компонента. Не трогая оригинал. Выкручиваемся так как можем, ребята. Это битрикс :(