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

[Решено] При заказе не переходит на страницу благодарности

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

Добрый день!

Столкнулась с проблемой. 

Версия ocStore 2.3.0.2.3

В корзине, после заполнения необходимых полей при нажатии кнопки "оформить заказ" ничего не происходит, т.е. не переходит на страницу Заказ успешно сформирован.

Пробовала менять файл catalog/model/checkout/order.php (на оригинал из коробки)

Но ничего не менятся..

установлены модули:

SEO HTTPS FIX PRO

ShowCase

Jet Cache

Обновление цены при выборе опций OC2 (без AJAX)  

Options price ocStore2

Отключать их не могу, так как сайт в рекламе.

Можно каким то образом прописать, чтобы осуществлялся переход на страницу благодарности( /index.php?route=checkout/success)?

Или какой файл за это отвечает, чтобы его из коробки попробовать заменить.

Пробовала менять файл catalog/model/checkout/order.php (на оригинал из коробки)

Но ничего не менятся

Изменено пользователем Will

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


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

когда наживаете отправить открывайте консоль и смотрите какие ошибки там 

также советую в файл index.php после <?php вставить 

ini_set("display_errors","1");
ini_set("display_startup_errors","1");
ini_set('error_reporting', E_ALL);

поепжет ошибки на сайте - и включите показ ошибок в настройках сайта

и ссылка была бы не лишней

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, Will сказал:

Добрый день!

Столкнулась с проблемой. 

Версия ocStore 2.3.0.2.3

В корзине, после заполнения необходимых полей при нажатии кнопки "оформить заказ" ничего не происходит, т.е. не переходит на страницу Заказ успешно сформирован.

Пробовала менять файл catalog/model/checkout/order.php (на оригинал из коробки)

Но ничего не менятся..

установлены модули:

SEO HTTPS FIX PRO

ShowCase

Jet Cache

Обновление цены при выборе опций OC2 (без AJAX)  

Options price ocStore2

Отключать их не могу, так как сайт в рекламе.

Можно каким то образом прописать, чтобы осуществлялся переход на страницу благодарности( /index.php?route=checkout/success)?

Или какой файл за это отвечает, чтобы его из коробки попробовать заменить.

Пробовала менять файл catalog/model/checkout/order.php (на оригинал из коробки)

Но ничего не менятся

Вообще редиректит не модель, а контроллер или скрипт какой-то во вьюхе или в файле скрипта.. Так что модель могли и не трогать, задача модели - бизнес-логика(добавить данные, взять данные, сохранить данные). Смотрите контроллеры и вьюхи. И выведите ошибки себе для отладки. Но желательно если сайт рабочий, вывести их только для себя. Чтобы все пользователи не видели ваших ошибок.

  • +1 1

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


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

@Will проблема может быть в методе оплаты

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


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

//

Изменено пользователем Will

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


Ссылка на сообщение
Поделиться на другие сайты
On 7/17/2018 at 10:04 PM, prived said:

когда наживаете отправить открывайте консоль и смотрите какие ошибки там 

также советую в файл index.php после <?php вставить 

ini_set("display_errors","1");
ini_set("display_startup_errors","1");
ini_set('error_reporting', E_ALL);

поепжет ошибки на сайте - и включите показ ошибок в настройках сайта

и ссылка была бы не лишней

Спасибо!

Вставила этот код, всё заработало.

http://teplopolov.ru

Посмотрела ошибки в error_log

Ошибка была из за отсылки заказа мне на почту.

не знаю. как правильно настроить отсылку заказа на почту mail(

Quote

И выведите ошибки себе для отладки. Но желательно если сайт рабочий, вывести их только для себя. Чтобы все пользователи не видели ваших ошибок.

А как это сделать?

Изменено пользователем Will

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


Ссылка на сообщение
Поделиться на другие сайты
On 7/17/2018 at 10:04 PM, prived said:

ini_set("display_errors","1");
ini_set("display_startup_errors","1");
ini_set('error_reporting', E_ALL);

А этот код оставлять, после устранения ошибки?

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


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Will сказал:

А этот код оставлять, после устранения ошибки?

Этот код показует ошибку в окне браузера - чтоб не лазить в логи сервера

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


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

Ребятушки, сам с этой проблемой столкнулся, уже испугался, а потом вспомнил такую же ситуацию в MODx. В общем, в этих движках, да и в других тоже, завязка пользователя идёт через его email. И если у вас поле email необязательное (что логично), то при заказе оно пустое и такая вот байда происходит: заказ в админку приходит, а на страницу благодарности не идёт и корзина не чистится.

Решение:

Автозаполнять поле email, если его не заполнил (а кто его заполнять-то будет, лишние движения) клиент каким-то значением, я ставлю значение guest@домен

Пример кода для OpenCart 2.3:

Файл //catalog/view/theme/ТЕМА/template/checkout/newstorecheckout.tpl

Находим input с id="input-payment-email"

У меня этот инпут спрятан, и при нажатии на чекбокс Зарегистрироваться появляется вместе с полем ввода пароля - логичный ход, просто часть кода с полем дял email перенести в место рядом с полем для ввода пароля.

Примерный код я повесил на чекбокс Зарегистрироваться:

<input type="checkbox" name="register" onclick="jQuery('.register-form').toggle();if(jQuery(this).prop('checked')) jQuery('#input-payment-email').val('');else jQuery('#input-payment-email').val('guest@kix.by')">&nbsp;<?php echo $text_register; ?>

 

Смысл в том, чтобы при нажатии кнопки Оформить заказ поле с id="input-payment-email" не было пустым.

 

Всем удачи

 

Изменено пользователем WebDevep28
  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
6 hours ago, WebDevep28 said:

Ребятушки, сам с этой проблемой столкнулся, уже испугался, а потом вспомнил такую же ситуацию в MODx. В общем, в этих движках, да и в других тоже, завязка пользователя идёт через его email. И если у вас поле email необязательное (что логично), то при заказе оно пустое и такая вот байда происходит: заказ в админку приходит, а на страницу благодарности не идёт и корзина не чистится.

Решение:

Автозаполнять поле email, если его не заполнил (а кто его заполнять-то будет, лишние движения) клиент каким-то значением, я ставлю значение guest@домен

Пример кода для OpenCart 2.3:

Файл //catalog/view/theme/ТЕМА/template/checkout/newstorecheckout.tpl

Находим input с id="input-payment-email"

У меня этот инпут спрятан, и при нажатии на чекбокс Зарегистрироваться появляется вместе с полем ввода пароля - логичный ход, просто часть кода с полем дял email перенести в место рядом с полем для ввода пароля.

Примерный код я повесил на чекбокс Зарегистрироваться:

<input type="checkbox" name="register" onclick="jQuery('.register-form').toggle();if(jQuery(this).prop('checked')) jQuery('#input-payment-email').val('');else jQuery('#input-payment-email').val('guest@kix.by')">&nbsp;<?php echo $text_register; ?>

 

Смысл в том, чтобы при нажатии кнопки Оформить заказ поле с id="input-payment-email" не было пустым.

 

Всем удачи

 

Спасибо большое! Действительно я просто отклюбчили поля с email. Поэтому не отсылалось на почту, а только в админку.

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

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

×

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

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