Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Веб формы

00 голосов
9
Задача такая, при подробном описании элемента каталога, вывести форму обратной связи с забитым одним полем - "Название Элемента".

Вобщем я уже пробовал сжедать самостоятельный шаблон формы, но проблема с которой я столкнулся что при создании шаблона потом на сайте форма просто не отображается.
спросил 19 Авг, 13 от NisMo (320 баллов)

9 Ответы

00 голосов
все помайл за хвость вместо кода надо ставить строкой идентификатор вопроса
ответил 13 Янв, 13 от Simantica (460 баллов)
показан 26 Март, 17 от root
00 голосов
вот
Цитата
Dmitry Ban пишет:
Руслан, извините, я забыл уточнить. Это очень сильное колдунство, и оно срабатывает, когда:


Dmitry, вот только в чем загвозка...

на странице есть компонент news.detail
я запоминаю в переменну Название новости

и ни как не получается передать в форму значение данной переменной

код у меня приобрел вид:

<?
global $s;

$s = $arResult["QUESTIONS"][VS_....]["HTML_CODE"];
$s = str_replace('type="text"', 'type="text"', $s);

$patterns = array ('/value="[^"]*"/');
$replace = array ('value="то что надо"');

$s = preg_replace($patterns, $replace, $s);


$arResult["QUESTIONS"][VS_...]["HTML_CODE"] =$s;

?>

где то туплю не понимаю только где :D
ответил 13 Янв, 13 от Simantica (460 баллов)
показан 26 Март, 17 от root
00 голосов
Сумбурно вы описали проблему. Подробнее опишите, что делаете, при каких раскладах форма не отображается. С отображениями веб-форм проблем не испытывал.
Цитата
Максим Рукомойников пишет:
вывести форму обратной связи с забитым одним полем - "Название Элемента".

Совсем недавно на форуме обсуждали похожий вопрос, поищите.
ответил 19 Авг, 13 от Almarea (3,760 баллов)
00 голосов
Если конкретизировать то так :

1. Если веб-форме присвоить собственный шаблон,накидать туда полей etc.
То потом форма попросту не отображается, если же с шаблоном по умолчанию то все в порядке.

2. Задача такая при подробном просмотре элемента каталога, надо прям с этой страницы послать письмо с вопросом, комментом etc. Пробую решить с добавлением веб-формы, но одному из полей надо по умолчанию присвоить "Имя элемента" где находишься, чтобы потом при получении письма понять о чём речь.
ответил 29 Окт, 13 от NisMo (320 баллов)
00 голосов
Красивых способов решения я не знаю, а некрасивый (но работающий) выглядит примерно так.

1) Вопрос, где будет хранится имя элемента, вы заводите в виде текстового поля.

2) Вы делаете кастомный шаблон компонента form.result.new и создаёте в нём файл result_modifier.php примерно такого содержания:

Код
$s = $arResult['QUESTIONS'][код_вопроса]['HTML_CODE'];
$s = str_replace('type="text"', 'type="hidden"', $s);
$s = preg_replace(
   '/value="[^"]*"/', 
   'value="чему_нужно"', 
   $s
);
$arResult['QUESTIONS'][код_вопроса]['HTML_CODE'] = $s;


В результате у вас получается скрытое поле, содержащее то, что вам нужно видеть в результатах заполнения формы.
ответил 02 Фев, 14 от Ly (4,580 баллов)
00 голосов
Всё таки думаю можно придумать решение "элегантнее", у меня так и не поучилось сделать свой шаблон, то есть шаблон делаю, но в публичной части потом просто пусто.

А как было бы здорово, свой шаблон, туда поле с присвоением
Код
value="<?=$arElement["NAME"]?>"

Да вопрос то пустяковый по сути.
ответил 22 Май, 14 от NisMo (320 баллов)
00 голосов
Цитата
Dmitry Ban пишет:
$s = $arResult['QUESTIONS'][код_вопроса]['HTML_CODE']; $s = str_replace('type="text"', 'type="hidden"', $s); $s = preg_replace('/value="[^"]*"/','value="чему_нужно"',$s ); $arResult['QUESTIONS'][код_вопроса]['HTML_CODE'] = $s;


подскажите, попробывал реализовать ваш код, но не получилось

1. создал поля куда хочу сохранять название элементы (text)
2. создал кастом шаблон form.result.new, назовем его 123, в нем создал файл result_modifier.php
3. в него вставил код который вы приводите в качестве примера, к сожалению, ничего не получилось

сможете помочь?! готов заплатить :) время поджимает
ответил 18 Сен, 14 от Simantica (460 баллов)
00 голосов
Руслан, извините, я забыл уточнить. Это очень сильное колдунство, и оно срабатывает, когда:
1) в настройках модуля веб-форм отключена галочка "Использовать упрощённый режим редактирования форм";
2) в настройке самой формы на закладке "Шаблон формы" выбран пункт "Использовать шаблон формы по умолчанию";
3)'код вопроса' заменён на правильное значение; то же касается и строки 'чему_нужно' -- её нужно получать отдельно.

Если это не поможет, то киньте мне в личку админский вход в битрикс и реквизиты доступа по фтп. Я помогу (не за деньги), но не раньше, чем в эти выходные.
ответил 23 Янв, 15 от Ly (4,580 баллов)
00 голосов
cgf
Цитата
Dmitry Ban пишет:
Руслан, извините, я забыл уточнить. Это очень сильное колдунство, и оно срабатывает, когда:


спасибо что откликнулись быстро
1. режим расширенных настроек конечно же включен
2. с шаблоном :) понял еще вчера, после танцев с бубном спасибо большое
3. для экспериментов пока даже не определяю $s, а просто подставляю

$arResult["QUESTIONS"][64]["HTML_CODE"] = 1234567890;

где 64 код вопроса, и получаю следующее вариант
, что в текст ответа вопроса 64 ничего не вставляется, а появляется новая строчка в форме, где в столбце ответов написано соответственно 1234567890

вот что я понять пока и не могу?!
ответил 07 Май, 15 от Simantica (460 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 09 Дек, 15 от VI (120 баллов)
0 голосов
1 ответ
0 голосов
2 ответов
спросил 06 Май, 14 от ZooWolf (120 баллов)
0 голосов
2 ответов
0 голосов
2 ответов
спросил 27 Март, 14 от Gnus (100 баллов)