Перейти к содержанию
iv8383

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

Рекомендуемые сообщения

в 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 = 'airseparator@yandex.ru';
			$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 = 'mobtaxi@gmail.com';
			//$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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От IgorSoloha
      Уважаемые гуру!
      Есть некая своя форма, отправляющая данные в некий свой обработчик
      переменная $to = email получателя.
      Если явно указывать адрес - отправляет и доставляет без проблем.
      А как этот адрес выловить из конфига?
      Прямое $data['email'] = $this->config->get('config_email'); естественно не дает ничего... 
    • От grpetr189853
      Здравствуйте. Есть магазин на opencart Version 2.3.0.2 (trs-2.3.0.0)  https://setpoint.com.ua/ Сделал настройки почты следующим образом см.вложение .В настройках google аккаунта разрешил доступ небезопасным приложениям. Проблема в том, что не приходят уведомления о заказах при клике на кнопку "Купить в один клик" в карточке товара , а также не приходят уведомления из формы обратной связи.Отправку почты с сервера проверил следующим кодом :
      <?php var_dump(mail("******@gmail.com","Test","Test")); ?> Сообщения с сервера приходят. Буду признателен за любую помощь и рекомендации!
    • От lozexp
      Ребята, помогите, пожалуйста, ибо в коде я не силён!
      Имеется шаблон, находящийся по адресу: /catalog/view/theme/default/template/mail/order_alert.twig
      с таким содержанием:
      "{{ text_received }}
      {{ text_order_id }} {{ order_id }}
      {{ text_date_added }} {{ date_added }}
      {{ text_order_status }} {{ order_status }}
      {{ text_product }}
      {% for product in products %}
      {{ product.quantity }}x {{ product.name }}
      ({{ product.model }})
      {{ product.total }}
      {% if option %}
      {% for option in product.option %}
          - {{ option.name }} {{ option.value }}
      {% endfor %}
      {% endif %}
      {% endfor %} 
      {% if vouchers %}
      {% for voucher in vouchers %}
      1x {{ voucher.description }} {{ voucher.amount }}
      {% endfor %} 
      {% endif %}
      {{ text_total }}
      {% for total in totals %}
      {{ total.title }}: {{ total.value }}
      {% endfor %} 
        
      {% if comment %}
      {{ text_comment }}
      {{ comment }}
      {% endif %}"
      И приходит письмо о заказе:
      "Вы получили заказ. № заказа: 8 Дата добавления: 07.03.2019 Состояние заказа: Сделка завершена Товары 1x Подставки для обуви (001) 325.00 грн. Всего Итого: 325.00 грн." Хочу, чтобы выглядело примерно так:
      "Вы получили заказ.
      № заказа: 8
      Дата добавления: 07.03.2019
      Время добавления: 12:00
      Состояние заказа: Сделка завершена
      Товары:
      Подставки для обуви 1x 325.00 грн
      ID: (001) .
      Всего
      Итого: 325.00 грн."
      Телефон: 0952223344 (из блока "покупатель")
      Имя : Вася (из блока "покупатель")
      Фамилия: Пупкин  (из блока "адрес доставки")
      Город:  Киев (из блока "адрес доставки")
      № отделения Новой почты: 85 (из блока "адрес доставки")
       
      Подскажите, пожалуйста, что и куда нужно дописать/убрать. Очень благодарен за помощь!
       
    • От StepanG
      500.00 руб
      Скачать/Купить дополнение


      Виджет Multi Connect

       
      Виджет Multi Connect поможет вашим клиентам быстро и легко связаться с вами через разные мессенджеры и каналы, такие как WhatsApp, Messenger, Skype, Viber, Telegram, Line, VK, Email и телефонный звонок.
       
      Особенности:
      Простая установка
      Без перезаписи файлов
      Совместимость со всеми темами
      Адаптировано к мобильным устройствам
      Выбор позиции виджета на сайте
      Изменение цвета основной кнопки
      Включение или отключение кнопок, которые вам нужны
      Бесплатная установка и поддержка
       
      Локализации: английский, русский, украинский
       
      Дэмо:
      http://opencart3.coreit.com.ua
      http://opencart3.coreit.com.ua/admin/
      user/pass: demo
       
      Установка:
      1. Перейдите в раздел установки расширений
      2. Установите ocmod расширение
      3. Перейдите на страницу списка модулей и нажмите "Активировать" 
      4. Теперь можно перейти к настройке модуля
       
      Установка для 1.5:
      1. Разархивируйте файл
      2. Скопируйте содержание папки upload в каталог с установленной OpenCart
      3. Перейдите на страницу списка модулей и нажмите "Установить" 
      4. Теперь можно перейти к настройке модуля
       
      Удаление (со всеми файлами модуля):
      1. Перейдите в раздел установки расширений и удалите Виджет Multi Connect
      2. Удалите модуль из раздела "Дополнения" > "Модули"
      3. Скопируйте файл uninstall.php в корень сайта
      4. Запустите файл из адресной строки. Например, http://адрес-сайта/uninstall.php
      5. Удалите файл uninstall.php
       
      Помощь / Контакты:
      Для любых дополнительных запросов относительно покупки, настройки, локализации и т. д.:
      Электронная почта: core1@coreit.com.ua
      Добавил StepanG Добавлено 10.09.2018 Категория Модули Системные требования Сайт разработчика https://coreit.com.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От StepanG
      Виджет Multi Connect поможет вашим клиентам быстро и легко связаться с вами через разные мессенджеры и каналы, такие как WhatsApp, Messenger, Skype, Viber, Telegram, Line, VK, Email и телефонный звонок.
       
      Особенности:
      Простая установка
      Без перезаписи файлов
      Совместимость со всеми темами
      Адаптировано к мобильным устройствам
      Выбор позиции виджета на сайте
      Изменение цвета основной кнопки
      Включение или отключение кнопок, которые вам нужны
      Бесплатная установка и поддержка
       
      Локализации: английский, русский, украинский
       
      Дэмо:
      http://opencart3.coreit.com.ua
      http://opencart3.coreit.com.ua/admin/
      user/pass: demo
       
      Установка:
      1. Перейдите в раздел установки расширений
      2. Установите ocmod расширение
      3. Перейдите на страницу списка модулей и нажмите "Активировать" 
      4. Теперь можно перейти к настройке модуля
       
      Установка для 1.5:
      1. Разархивируйте файл
      2. Скопируйте содержание папки upload в каталог с установленной OpenCart
      3. Перейдите на страницу списка модулей и нажмите "Установить" 
      4. Теперь можно перейти к настройке модуля
       
      Удаление (со всеми файлами модуля):
      1. Перейдите в раздел установки расширений и удалите Виджет Multi Connect
      2. Удалите модуль из раздела "Дополнения" > "Модули"
      3. Скопируйте файл uninstall.php в корень сайта
      4. Запустите файл из адресной строки. Например, http://адрес-сайта/uninstall.php
      5. Удалите файл uninstall.php
       
      Помощь / Контакты:
      Для любых дополнительных запросов относительно покупки, настройки, локализации и т. д.:
      Электронная почта: core1@coreit.com.ua
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.