Практично будь-який сучасний динамічний сайт передбачає наявність зворотного зв'язку від відвідувачів. В "Бітрікс" є серйозний інструмент для роботи з формами: модуль "Веб форми". Я не буду про нього розповідати, є відповідна документація. Але редакцію "Старт" цей модуль не входить, адже для простих сайтів треба зазвичай лише форму відправки на email. Це зробити досить просто. Один з варіантів покажу тут.
Хочу зробити форму відправки повідомлення на email (або просто "зворотний зв'язок". Я буду використовувати компонент додавання елемента Інфоблоки: мінімум програмування, а всі записи залишаються в базі даних сайту, в будь-який момент можна до них повернутися.
Спочатку треба створити інфоблок, куди будуть потрапляти відгуки, створю властивості "Місто" і "email", в дійсності їх може бути більше.
Для всіх користувачів даю права на зміни.
Потім створюю нову сторінку на сайті і розміщую на неї компонент "форма додавання елементів". В налаштуваннях вказую необхідні поля, я зробив перейменування стандартних полів:
назва - ім'я
опис для анонса - текст
Вийшла така акуратна форма:
Тепер залишилося зробити так, щоб при додаванні запису відправлялося лист відповідальному людині.
Для цього я створю новий тип поштового події FEEDBACK (Настройки - Налаштування продукту - Поштові події - Типи поштових подій). І створю поштовий шаблон для цієї події
Форма зворотнього зв'язку на сайті
Посилання треба вставити свою.
В поле "кому" ставлю свій email.
Щоб ініціювати відправку події можна використовувати подія OnAfterIBlockElementAdd.
Воно виникає після додавання елемента Інфоблоки.
Мій інфоблок має ID = 20, тому в bitrix / php_interface / init.php вставлю обробник, який буде перевіряти щоб був змінений мій інфоблок і відправляти лист.
Для відправки використовую системний метод CEvent :: Send
Взяв за основу код з документації, вийшло ось що:
Оброблювач замість макросу # TEXT # підставить ім'я і текст, який заповнив користувач. Це найпростіший варіант, на його основі можна зробити більш складні рішення.
Щоб додати поля - не потрібні навички програмування, досить створити нові властивості Інфоблоки і вказати їх в настройках компонента.
Крім тектових поля і многострочного текстового поля, можна створювати списки, перемикачі, прапорці.
Також, дозволяє створювати поля в формі зворотного зв'язку обов'язкові для заповнення.
За мінусом можна вважати тільки відсутність каптчі, якщо, звичайно, вважати це мінусом.
До речі, на одному з підтримуваних мною сайтів з аудиторією 200-400 відвідувачів в день,
вже 7 років стоїть форма без каптчі, правда, не від вищевказаного сервісу. Так листів зі спамом за цей період прийшло ну може 50, не більше. Так що каптча не завжди потрібна, частіше це просто зайве поле, яке змушують заповнювати.
На дату повідомлення подивіться. форма зворотного зв'язку вже давно з'явилася у Бітрікс: Старт.
приблизно по такому способу робив на старті подобу інтернет-магазину - замовити дзвінок
А чому в приклад не включити використання капчі?) Або пара рядків інклуд і перевірки чому - то суперечать?
Ну зробити те можна, але мені хотілося показати найпростіший варіант. Ускладнення не сприятиме розумінню. І може не всім потрібна капча?
8-800-250-1860 Контакти Карта сайту