Бывают ситуации, когда в стандартную форму Битрикс требуется передать, например, название товара, на странице которого она находится.
Решение достаточно простое и стандартное. Для решения задачи требуется:
1. В админке Настройки—>Настройки модулей—>Веб-формы надо снять галку «Использовать упрощённый режим редактирования форм«, чтобы полям можно было задавать символьный код.
2. В настройках своей веб-формы создается «вопрос», например «Название товара», с символьным кодом ELEMENT_NAME, добавляется «ответ» — тип поля hidden
3. В вызов компонента веб-формы добавляется параметр, например так
'ELEMENT_NAME' => array( 'VALUE' => $arResult['NAME'], 'AUTOCOMPLETE' => 'Y' )
4. В шаблоне вывода формы, где идет цикл по вопросам
foreach ($arResult["QUESTIONS"] as $FIELD_SID => $arQuestion) {
внутрь добавляется
if(isset($arParams[$FIELD_SID]) && $arParams[$FIELD_SID]['VALUE'] && $arParams[$FIELD_SID]['AUTOCOMPLETE'] == 'Y') { $arQuestion['HTML_CODE'] = str_replace('name=', 'value="'.$arParams[$FIELD_SID]['VALUE'].'" name=', $arQuestion['HTML_CODE']); }
Все, в форме имеется скрытое поле с названием товара, которое передается в результаты форм. Профит 🙂