Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

в Opencart 3 в контактах не работает форма обратной связи, не работает отправка email о заказе клиенту и на email магазину


Recommended Posts

в Opencart 3 в контактах не работает форма обратной связи, не работает отправка email о заказе клиенту и магазину на email магазина. Подозреваю, что причина у этого одна, но это не точно. Подскажите пожалуйста в чем может быть проблема. Код contact.twig я не трогал вообще, как и catalog/controller/information/contact.php. В model я так понял contact.php не должно быть. Как вообще там работает эта форма? Она отправляет из view в controller и куда дальше? может system/library/mail/mail.php? Может кто сталкивался с этой проблемой, объясните что вы сделали, чтобы ее исправить?   

 

 

 

 

 

 

не работает форма и письма 2.png

Змінено користувачем iv8383
Надіслати
Поділитися на інших сайтах


при отправке формы происходит просто перезагрузка страницы и всё остаётся как и было, просто заполненные поля.

Змінено користувачем iv8383
Надіслати
Поділитися на інших сайтах


Система-Настройки на первой вкладке та же почта должна быть , которая во вкладке Почта. Обязательно в первом пункте выберите  MAIL (  а не SMTP)  и не заполняйте больше никаких полей.Ни логин ни пароль. Подсказку нашел на этом же форуме тут: 

 .Но есть проблема! Если устанавливаю mail, то письмо приходит только клиенту. Если ставлю настройку SMTP яндекса письма приходят и на почту яндекса тоже, то есть и клиенту и магазину, всё нормально. А контактная форма ведет себя также как и вела, просто заполненные поля и никакого подтверждения success.

Змінено користувачем iv8383
Надіслати
Поділитися на інших сайтах


Ошибка где+то тут: 

$mail->setTo($this->config->get('config_email'));
            $mail->setFrom($this->config->get('config_email'));
            $mail->setReplyTo($this->request->post['email']);
            $mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
            $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
            $mail->setText($this->request->post['enquiry']);
            $mail->send();

            $this->response->redirect($this->url->link('information/contact/success'));

 

или в success.twig что вряд ли!

 

 

Змінено користувачем iv8383
Надіслати
Поділитися на інших сайтах


даже так проверил придет ли письмо, не пришло:

исправил в catalog/controller/information/contact.php 

$mail->send();

$mail_to_air = '[email protected]';
			$mail_subject_air = 'форма обратной связи';
			$message_air = 'сообщение от человека';
			$headers_air = 'заголовок';
			mail($mail_to_air, $mail_subject_air, $message_air, $headers_air);

$this->response->redirect($this->url->link('information/contact/success'));

В чём может быть причина? Остается только то, что button не срабатывает по какой+то причине, я смотрю там JS участвует в отправке формы, может быть причина в нём? 

Ощущение что не срабатывает редирект в success

даже так письмо не приходит.png

Змінено користувачем iv8383
Надіслати
Поділитися на інших сайтах


Даже так попробовал, всё равно облом:

 

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$mail = new Mail($this->config->get('config_mail_engine'));
			$mail->parameter = $this->config->get('config_mail_parameter');
			$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
			$mail->smtp_username = $this->config->get('config_mail_smtp_username');
			$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
			$mail->smtp_port = $this->config->get('config_mail_smtp_port');
			$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

			//$mail->setTo($this->config->get('config_email'));
			$mail->setTo($this->config->get('config_mail_smtp_username'));//мои правки
			//$mail->setFrom($this->config->get('config_email'));
			$mail->setFrom($this->config->get('config_mail_smtp_username'));//мои правки
			$mail->setReplyTo($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$mail->setText($this->request->post['enquiry']);
			$mail->send();
            
			//START my change
			//$mail_to_air = $this->config->get('config_email');
			//$message_air = $this->request->post['enquiry'];
			//$headers_air = $this->request->post['email'];
			//$mail_to_air = '[email protected]';
			//$mail_subject_air = 'форма обратной связи';
			//$message_air = 'сообщение от человека';
			//$headers_air = 'заголовок';
			//mail($mail_to_air, $mail_subject_air, $message_air, $headers_air);
			//END
			
			
			$this->response->redirect($this->url->link('information/contact/success'));
		}

 

Надіслати
Поділитися на інших сайтах


Решили на другом форуме. Что+то помощников тут не оказалось.

Не знаю можно форум писать или нет. Форум где я скачал русскую версию там и решили.

 

 \system\tweak.ocmod.xml
заменить

<file path="catalog/view/theme/default/template/information/contact.twig">

на это

<file path="catalog/view/theme/*/template/information/contact.twig">

Сохранить. Обновить кеш модификаторов. После этого посмотреть на форму. Рядом с кнопкой Оправить появится поле чекбокса для согласия. Если не появится, то вам проще просто в модификаторе удалить часть кода с 290-298 строку,

только я думаю со строками ошибка, потому как тогда код обрывается. У меня заработало просто после замены строки и очистки модификаторов и кеша. Кеш я чищу уже всюду на всякий случай. 

 

 

 

 

баг формы в system.png

  • +1 1
Надіслати
Поділитися на інших сайтах


спасибо за монолог! :D

 

3 часа назад, iv8383 сказал:

Не знаю можно форум писать или нет. Форум где я скачал русскую версию там и решили.

 

 \system\tweak.ocmod.xml
заменить

в оригинальном движке нет такого файла

вам изначально нужно было с вопросом обращаться по месту скачивания вашей сборки

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.