Ответить Новая тема Новый опрос 
 Открыть новую вкладку после создания заказа
Yurii
Новичок
Сообщений: 34
Регистрация: 05-08-2019


24-12-2019 19:50
После создания заказа нужно выводить чек клиенту в новой вкладке.
Разрабатываю модуль интеграцыи с онлайн касой. использую hookActionValidateOrder
Что нужно прописать в хуке что б открылась новая вкладка. И почему не работають в хуке стандартные функцыи php:
echo '<script type="text/javascript">
window.open("http://google.com");
</script>';
или
header("location:ur url");
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


24-12-2019 21:00
Цитата:( Yurii @ 24-12-2019 20:50 Смотреть сообщение )
использую hookActionValidateOrder
Что нужно прописать в хуке что б открылась новая вкладка.

Внутри hookActionValidateOrder нельзя (можно, но не стоит) пересылать пользователя на другую страницу. Вызов хука actionValidateOrder не завершающий этап в формировании заказа, посмотреть можно по коду в /classes/PaymentModule.php!

Выполнить редирект можно в вашем модуле после выполнения всех шагов оформления заказа:
Код:
$yourmodule->validateOrder(...)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Yurii
Новичок
Сообщений: 34
Регистрация: 05-08-2019


25-12-2019 14:09
Куда прописать открытия стрканицы с чеком после оформления заказа? И как правильно это зделать?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


25-12-2019 18:22
Цитата:( Yurii @ 25-12-2019 15:09 Смотреть сообщение )
Куда прописать открытия стрканицы с чеком после оформления заказа? И как правильно это зделать?

В вашем модуле сразу после:
Код:
$yourmodule->validateOrder(...)

проверьте если вернулось:
Код:
true

перенаправляйте пользователя на необходимую стр.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Yurii
Новичок
Сообщений: 34
Регистрация: 05-08-2019


25-12-2019 20:29
Цитата:( Алекс @ 25-12-2019 14:22 Смотреть сообщение )
Цитата:( Yurii @ 25-12-2019 15:09 Смотреть сообщение )
Куда прописать открытия стрканицы с чеком после оформления заказа? И как правильно это зделать?
В вашем модуле сразу после:
Код:
$yourmodule->validateOrder(...)

проверьте если вернулось:
Код:
true

перенаправляйте пользователя на необходимую стр.

Спасибо, но куда прописывать этот код как то так?
Код:
public function initContent()
    {
        $this->openNewPage();
    }
    public function openNewPage()
    {
        if($pricelistmodule->validateOrder == true)
        {
            echo('
            <script type="text/javascript">
            window.onload=function(e)
            {
              window.open("google.com");
            }
            </script>');;
        }
    }
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


25-12-2019 22:49
Цитата:( Yurii @ 25-12-2019 21:29 Смотреть сообщение )
Спасибо, но куда прописывать этот код как то так?

Нет.

Цитата:( Yurii @ 24-12-2019 20:50 Смотреть сообщение )
После создания заказа нужно выводить чек клиенту в новой вкладке.
Разрабатываю модуль интеграцыи с онлайн касой.

Вы делаете платёжный модуль (верно?).
В платёжных модулях для формирования заказа используется метод validateOrder.
Посмотрите код или возьмите как основу модули bankwire, cheque и тд., входящие в стандартную поставку PrestaShop.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Yurii
Новичок
Сообщений: 34
Регистрация: 05-08-2019


26-12-2019 15:30
Спасибо за подсказки) Буду разбираться
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос