Skip to content

Instantly share code, notes, and snippets.

@dmalshin
Last active January 13, 2016 11:39
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmalshin/57a7dcc80e35b1115261 to your computer and use it in GitHub Desktop.
Save dmalshin/57a7dcc80e35b1115261 to your computer and use it in GitHub Desktop.

Работа с компонентом codenails:custom.form

В гисте план правильного создания формы и моменты, на которых спотыкаются незнакомые с компонентом разработчики

План-чеклист

  1. Продумываем список полей формы
  2. Создаем инфоблок для сохранения результатов и запоминаем коды свойств
  3. Создаем почтовое событие
  4. Создаем почтовый шаблон для события
  5. Настраиваем вызов компонента формы
  6. Настраиваем .config шаблона компонента формы
  7. Изменяем email в заголовке "Кому" в почтовом шаблоне на свой
  8. Проверяем получение письма
  9. Проверяем создание и запись в элемент инфоблока
  10. Настраиваем форму редактирования элемента инфоблока
  11. Изменяем email обратно

Пример заполнения полей почтового события

Тип:

CN_***

Название:

Отправлена форма ***

Описание:

#EV_NAME# - Имя
#EV_EMAIL# - Email
#EV_PHONE_NUMBER# - Номер телефона
#EV_COMMENTARY# - Комментарий

Маска #EV_КОД_СВОЙСТВА#

Пример почтового шаблона (заголовки)

От кого: Название компании или сайта или #SITE_NAME# плюс <#DEFAULT_EMAIL_FROM#>
Пример от кого: Интернет-магазин Связной <subs@e.svyaznoy.ru>
Кому (администратору): #DEFAULT_EMAIL_FROM#
Кому (заполнившему): #EV_EMAIL#
Тема: [Xxxxx.ru] Форма ***

#DEFAULT_EMAIL_FROM# подставляется из поля "E-Mail адрес по умолчанию" настроек текущего сайта

Пример почтового шаблона (тело письма)

Форма *** заполнена пользователем

Введенная информация:
Имя: #EV_NAME#
Email: #EV_EMAIL#
Телефон: #EV_PHONE_NUMBER#
Сообщение:
#EV_COMMENTARY#

Маска #EV_КОД_СВОЙСТВА#

Дополнительная настройка поля для записи в элемент ИБ в .config

'IBLOCK_FIELD' => 'PROPERTY_EMAIL',

Маска #PROPERTY_КОД_СВОЙСТВА# Для записи в инфоблок обязательно должен быть ключ "NAME". 'IBLOCK_FIELD' для него не нужно.

Проверка отправки в "Инструменты"-"SQL запрос" (когда не приходит письмо)

select * from b_event order by DATE_EXEC desc

или

select * from b_event where event_name like '%form%' order by date_insert desc

Скрипты и стили, необходимые для полного функционала компонента, при отсутствии quickstart на сайте:

- jQuery
- cn.custom.form
- jquery.form.min.js
- jquery.ladda.production.min.js
- jquery.magnificpopup.min.js
- magnificpopup.css
- ladda.css
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment