Рассмотрим на примере демо магазина (Управление сайтом – версия 12), установленного на редакции «Малый бизнес». На карточке товара необходимо внедрить вкладку «Задать вопрос».
На вкладке будет форма с тремя полями: имя, email, текст. Задача формы: покупатель задаёт вопрос про интересующий его товар на странице данного товара. Форма должна отправлять на заранее заданный email: имя покупателя, email покупателя, текст с вопросом и название товара, которое автоматически подставляется с карточки товара, откуда отправляется вопрос.
1) Создадим вкладку «Задать вопрос». Для этого перейдём на страницу любого товара и в «режиме правки» скопируем шаблон комплексного компонента bitrix:catalog. В нашем случае используется шаблон сайта eshop_yellow.

2) Откроем файл \bitrix\templates\eshop_yellow\components\bitrix\catalog\myshop\bitrix\catalog.element\.default\component_epilog.php и после кода:
<?if($arParams["USE_REVIEW"]=="Y" && IsModuleInstalled("forum") && $arResult["ID"]):?>
<a href="#" id="tab3"><span><?=GetMessage("CATALOG_REVIEWS")?></span><span class="clr"></span></a>
<?endif?>
вставим:
<a href="#" id="tab4"><span>Задать вопрос</span><span class="clr"></span></a>
3) Сохраняем файл, обновляем страницу (сбросить кэш) и у нас появляется вкладка:
4) В качестве формы используем компонент bitrix:main.feedback. Чтобы его изменить, скопируем содержимое \bitrix\components\bitrix\main.feedback\ в \bitrix\components\myshop\main.feedback\
5) В файле \bitrix\templates\eshop_yellow\components\bitrix\catalog\myshop\bitrix\catalog.element\.default\component_epilog.php вставим код в строке 76 после тега <?endif?>:
<div class="cnt">
<?$APPLICATION->IncludeComponent("myshop:main.feedback", ".default", array(
"USE_CAPTCHA" => "Y",
"OK_TEXT" => "Спасибо, ваше сообщение принято.",
"EMAIL_TO" => "mymail@myshop.ru",
"REQUIRED_FIELDS" => array( ),
"PRODUCT_NAME" => $arResult["NAME"],
"EVENT_MESSAGE_ID" => array( 0 => "7",) ),
false
);?>
</div>
“EVENT_MESSAGE_ID” — указываем ID почтового шаблона, на основе которого будут отправляться письма.
“EMAIL_TO” — указываем email, куда будут приходить данные из формы.
6) Открываем файл \bitrix\components\myshop\main.feedback\templates\.default\template.php и в 14 строке после:
<form action="<?=$APPLICATION->GetCurPage()?>" method="POST">
добавим код:
<input type="hidden" name="product_name" value="<?=$arParams["PRODUCT_NAME"]?>">
7) Открываем файл \bitrix\components\myshop\main.feedback\component.php и в 55 строке после:
"TEXT" => $_POST["MESSAGE"],
добавим код:
"PRODUCT_NAME" => $_POST["product_name"],
8) В админке: Рабочий стол -> Настройки -> Настройки продукта -> Почтовые события -> Почтовые шаблоны открываем Отправка сообщения через форму обратной связи
9) Пишем строчку Товар: #PRODUCT_NAME#, в этом месте будет передаваться название товара.
10) Теперь нужно указать электронный адрес, куда должно прийти сообщение с вопросом о товаре. В «режиме правки» редактируем параметры компонента myshop:main.feedback
11) Проверяем работу формы, заполняем, отправляем:
12) Получаем вопрос с сайта на электронный адрес, который указали в параметрах компонента:
