Cformresult add не работает

Cformresult add не работает

Создает новый результат веб-формы. В случае успеха — возвращает ID нового результата, в противном случае — «false». Метод нестатический.

Данный метод не создает почтовое событие, связанное с формой. Для этого нужно использовать CFormResult::Mail.

Примечание: в случае неактивных вопросов данные из формы в них не сохраняются и сообщения об ошибках не выводятся.

Параметры метода

Параметр Описание
form_id ID веб-формы.
values Массив со значениями ответов. Массив имеет следующую структуру: Правила формирования «имен HTML полей ответов» и «значений ответов» описаны в разделе «Имена HTML полей веб-форм».
Пример:

Параметр необязательный. По умолчанию — «false» (будет взят стандартный массив $_REQUEST). check_rights

Флаг необходимости проверки прав текущего пользователя. Возможны следующие значения:
  • Y — права необходимо проверить;
  • N — право не нужно проверять.

Для создания нового результата необходимо иметь право [10] Заполнение веб-формы на веб-форму form_id.

Параметр необязательный. По умолчанию — «Y» (права необходимо проверить). user_id ID пользователя, который будет записан как создатель данного результата.

Параметр необязательный. По умолчанию — «false» (будет взят ID текущего пользователя).

Смотрите также

Примеры использования

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Источник

1С-Битрикс как сохранить результат веб формы при помощи CFormResult::Add

При помощи данного кода вы научитесь добавлять результаты сразу в админку, причем абсолютно из любой HTML формы. Использовать мы будем CFormResult::Add. Рассмотрим, как можно сохранять результат в 1С-Битрикс при помощи стандартного модуля.

Как добавить запись в админку на битриксе в веб-формы

Предположим, что вы уже настроили поля для своей формы, создали статусы и дали нужные права (там довольно хитрая схема даже на этапе создания 🙂 ). Нам понадобится эта таблица из документации в дальнейшем.

Посмотрите как задаются имена полей для различных типов — form_text_answer_id для обычного текстового поля input type=»text», form_hidden_answer_id для скрытого поля ну и т.д.

Как вы сами понимаете, используя API, мы скорее всего не будем использовать модуль с самой формой, а напишем свой собственный HTML — в моем случае часть данных передается через input[type=text] а другая через input[type=hidden], НО при этом тип полей в настройках формы hidden. После отправки формы мы попадаем на страницу с благодарностью, и код ее приблизительно такой:

После того как код отработает, наша форма добавляет в админку новый результат с соответствующими полями. На самом деле, при помощи подобной схемы можно реализовывать неплохую обратную связь с клиентом, вплоть до симуляции Каталога товаров и даже интернет магазина, но это уже совсем другая история 🙂 .

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

— Создание сайтов на 1С-Битрикс любой сложности
— Вёрстка макетов Figma, Photoshop, Zeplin
— Поддержка проектов на Битриксе
— Разработка нового функционала для сайта
— Парсинг данных
— Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
— Интеграция по API со сторонними сервисами
и многое другое

Источник

Битрикс — Как исправить в веб-форме «Согласитесь с условиями»

Что делать, если при добавлении результата в веб-форму при помощи API выдает ошибку «Согласитесь с условиями»?

Убрать ошибку Согласитесь с условиями в Битриксе

Давайте для начала определим какие могут быть ошибки в АПИ:

1. Неправильно указан $FORM_ID
2. Перед вызовом метода забыли указать CModule::IncludeModule(«form»);
3. Не все обязательные поля заполнены

Как оказалось, есть и 4ая ошибка 🙂 . Если вы добавите вывод ошибок в форму:

То можете обнаружить Согласитесь с условиями. В интернете практически нет информации по этому вопросу как и в документации (на данный момент). В одной статье по подписке сделали хороший намек, что нужно добавить еще одно поле. Для веб формы это поле:

После того как вы указываете в коде ‘licenses_popup’ => ‘Y’ или передали с вашей веб-формы, то ошибка уходит. Изначально мне казалось что это можно как-то убрать через админку, но в настройках модуля и самого Битрикса не нашел ничего похожего по данному вопросу.

Что самое интересное, на более старых версиях редакции 1С-Битрикс Управление сайтом — код работает без ошибок, и данная ошибка возникает только в тех версиях, где CMS начали адаптировать под соответствие законам РФ (привет закон о защите персональных данных).

Надеюсь у вас всё получилось и формы больше не выдают никаких ошибок 🙂

На всякий случай участок кода для наглядности из моей формы:

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

— Создание сайтов на 1С-Битрикс любой сложности
— Вёрстка макетов Figma, Photoshop, Zeplin
— Поддержка проектов на Битриксе
— Разработка нового функционала для сайта
— Парсинг данных
— Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
— Интеграция по API со сторонними сервисами
и многое другое

Источник

Класс CFormResult

CFormResult — класс для работы с результатами.

Поле Тип Описание
ID int Идентификатор результата.
FORM_ID int Идентификатор веб-формы.
TIMESTAMP_X datetime Время последнего изменения.
DATE_CREATE datetime Время создания.
STATUS_ID int Идентификатор текущего статуса.
USER_ID int ID пользователя, создавшего результата (автор результата).
USER_AUTH char Флаг авторизованности автора результата в момент создания результата [Y|N].
STAT_GUEST_ID int Идентификатор посетителя, создавшего результат (инициализируется модулем «Статистика» в момент создания результата).
STAT_SESSION_ID int Идентификатор сессии, в которой был создан результат (инициализируется модулем «Статистика» в момент создания результата).

Методы

Метод Описание С версии
Add Создает новый результат.
Update Обновляет результат.
SetField Для указанного результата обновляет значения ответа на вопрос или обновляет значение поля веб-формы.
GetList Возвращает список результатов.
GetByID Возвращает поля результата.
GetDataByID Возвращает ряд массивов, содержащих данные по значениям ответов на вопросы веб-формы, а также значения полей веб-формы для указанного результата.
GetDataByIDForHTML Возвращает массив значений ответов на вопросы веб-формы, а также значения полей веб-формы для указанного результата. Ключи данного массива в точности соответствуют правилам формирования имен HTML полей для веб-формы. 4.0.4
Reset Удаляет значения ответов и значения полей веб-формы для указанного результата. 4.0.4
Delete Удаляет указанный результат. 4.0.4
Mail Создает почтовое событие. 4.0.4
SetEvent Создает событие в модуле «Статистика». 4.0.4
SetStatus Устанавливает указанный статус для указанного результата. 4.0.4
GetCount Возвращает количество результатов указанной веб-формы. 4.0.4
GetPermissions Возвращает массив прав на результат в зависимости от его статуса.

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Источник

Прикрепить файлы из веб-формы 1С-Битрикс к письму

На клиентском сайте, в разделе «Карьера», есть форма для откликов на вакансии. К этой форме есть возможность прикрепить файл с резюме и фотографию. Но…

По желанию клиента резюме и фотографии должны приходить в письме на email в виде вложения, а не в виде ссылки на скачивания файла, как это реализовано в стандартной форме Bitrix.

Почему в Битриксе не предусмотрели такую возможность по стандарту, не понятно.

Итак, как реализовать прикрепление файлов в виде вложения в письмо из веб-формы на Битрикс?

Гугление дало несколько вариантов решения задачи, мне понравился вариант на форуме 1С-Битрикс.

Зарегистрируем событие OnBeforeEventAdd которое вызывается в момент добавления почтового события в таблицу b_event и с помощью него добавим в письмо наши вложения.

Для этого пройдемся циклом по всем полям веб-формы и с помощью регулярного выражения найдем все ссылки на скачивание файла.

Внимание! Чтобы была возможность прикрепить файл к письму, права доступа на форму нужно выбрать: Все пользователи — Полный доступ.

Далее разбираем ссылку и получаем rid и hash файла и прикрепляем файл к письму.

Следующий код нужно добавить в файл init.php:

Если у вас в форме несколько полей с файлами, к письму прикрепиться тоже несколько файлов.

P.s. Если письмо отправляется в формате HTML, сделайте регулярное выражение таким:

preg_match(«/(https\:.*form_show_file.*)/», $field, $out);

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

Источник

Читайте также:  Как лучше настроить nikon d3200
Оцените статью