как вариант новому покупателю давать определенную группу пользователя - новый после 1 заказа с помощью апи перекидывать его в группу - постоянный вот как раз купон привязать к группе - новый
если template.php это шаблон catalog.element то в файле element.php можно верстку разбить на части, часть будет оберткой в самом element.php часть внутри template.php
если это комплексный компонент типа bitrix.news то можно верстку вынести в news.php или в section.php, и внутри вызывать нужное количество компонентов в html обертке, которую требует дизайн в данном случае если это каталог, то element.php
Как закрыть спам в форме регистрации?, На протяжении этого месяца, летят спам реги по 3-5 штук в минуту. Из-за этого серверная почта трещит по швам и блокируются события..
можно еще сделать фейковую форму не в тэге <form>, а в <div> и сделать вызов формы по аяксу, чтобы при загрузке странице ее не было, а только появлялась по клику на кнопку "регистрация" написать обработчики отправки формы и регистрации с помощью API битрикса и js\ts + каптча