Форма заявки с сайта — Сайт (Приложение) Эксперт найден
Бюджет:
По договоренности
Имеется форма отправки заявки с сайта: https://prestige-otel.ru/book/
Проблемы:
- Код формы коряво встроен в /wa-apps/site/lib/classes/siteViewHelper.class.php
- Результат → каждое обновление Webasyst оно стирается
- Форма заметно тормозит. После нажатия кнопки "Отправить заявку" ей надо подумать. Иногда пользователи нажимать кнопку по 3 раза и приходит в итоге 3 одинаковых заявки.
Что требуется:
- Нормально интегрировать код формы в Webasyst.Сайт, например в виде плагина.
- Разобраться почему тормозит при отправке и починить
- Если первые 2 пункта не имеются смысла, написать новый и простой код отправки формы
Код отвечающий за отправку формы:
public function sendEmail($to, &$errors) { //var_dump($to); if (!$to) { $app_settings_model = new waAppSettingsModel(); $to = $app_settings_model->get('webasyst', 'email'); } if (!$to) { $errors['all'] = _ws('Recipient (administrator) email is not valid'); return false; } /*if (!wa($this->app_id)->getCaptcha()->isValid()) { $errors['captcha'] = _ws('Invalid captcha'); }*/ $email = $this->post('email'); $email_validator = new waEmailValidator(); $subject = trim($this->post('subject', 'Престиж. Бронирование с сайта '.$this->post('phone'))); $posts = waRequest::post(); foreach($posts as $key=> $value) { $body .= "\n".$key.': '.$value; } //var_dump($posts); /*$body = trim($this->post('body')); if (!$body) { $errors['body'] = _ws('Please define your request'); }*/ /*if (!$email) { $errors['email'] = _ws('Email is required'); } elseif (!$email_validator->isValid($email)) { $errors['email'] = implode(', ', $email_validator->getErrors()); }*/ //var_dump($errors); if (!$errors) { $m = new waMailMessage($subject, nl2br($body)); $m->setTo($to); $m->setFrom(array($this->post('orderMail') => $this->post('name'))); if (!$m->send()) { $errors['all'] = _ws('An error occurred while attempting to send your request. Please try again in a minute.'); } else { header('Location: https://prestige-otel.ru/spasibo/'); return true; } } return false; }
4 ответа
Можно (и нужно) сделать без изменения ядра.
Здравствуйте!
Есть как минимум 3 решения:
1. Установить приложение веб-формы и настроить как вам угодо.
2. Доработать текущее решение.
3. Использовать индивидуально разработанный модуль (плагин).
Обращайтесь на почту webasyst@wedoit.pro или в телеграм @wedoitpro - обсудим максимально эффективное решение.
Готов помочь , пишите 79504438902@ya.ru или звоните 89504438902 , Скайп: staradmin2, Viber, WatsApp , Telegram, 89504438902
Здравствуйте. Готовы Вам помочь!
Портфолио Эксперта Webasyst: https://experts.webasyst.ru/directory/1080023/honeymarketing/
Мои телефон: +7 (999) 202-87-07
Мой E-mail: yaroslav@honeymarketing.ru
Telegram: @yaroslav_ukazov
---
honeymarketing.ru
E-mail: info@honeymarketing.ru