Вкраце - при вызове кастомного компонента с 'AJAX_MODE' => 'Y' в шаблоне комплексного компонента каталога он удивительным образом захватывает ВЕСЬ шаблон элемента в который вставлен и переставляет в самый верх страницы, а весь контент после <body> включает внутрь шаблона элемента.
Причем в случае битой страницы изменен именно html код страницы, дело не в каком-нибудь js или css.
$APPLICATION->RestartBuffer(); стоит и в компоненте и в шаблоне - иначе неверно работает даже при выключенном кеше.
Подскажите, как сделать так, чтобы при выключенном 'AJAX_MODE' в шаблоне комплексного компонента каталога компонент работал бы с 'AJAX_MODE' => 'Y'.
Как это сделать в шаблоне элемента каталога? Если, к примеру, вообще убрать рестарт буфера, все равно весь шаблон элемента странным образом попадает перед всем кодом сайта. Зная логику работы компонентов с 'AJAX_MODE' => 'Y' я думал, что форма с кнопкой "Добавить в корзину" должна просто оборачиваться дивом и обновляться.