Оrder success на отдельной странице
Доброго времени суток!
Подскажите, пожалуйста, как сделать так, чтобы после успешного оформления заказа, на сайте, посетителя перекидывало на определенную страницу, а не на эту же, с чанком tpl.msOrder.success?
Заранее спасибо!
Подскажите, пожалуйста, как сделать так, чтобы после успешного оформления заказа, на сайте, посетителя перекидывало на определенную страницу, а не на эту же, с чанком tpl.msOrder.success?
Заранее спасибо!
Комментарии: 6
Либо в javascript'e минишопа, либо плагином на событие оформление заказа, либо, например, в чанке tpl.msOrder.success организовывать редирект (сниппетом) на желаемую страницу.
Приведу пример через сниппет (самый удобный вариант):
Пишем сниппет sendRedirect:
И вызываем его в чанке tpl.msOrder.success
Пишем сниппет sendRedirect:
<?php
$id = intval($id);
if ($modx->getCount('modResource', array('id' => $id))) {
$modx->sendRedirect($modx->makeUrl($id), array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
}
else {
return;
}
И вызываем его в чанке tpl.msOrder.success
[[!sendRedirect? &id=`айди_страницы`]]
Спасибо! Сейчас попробую
Спасибо! Работает!
Спасибо за решение! Пригодилось)
Еще вопрос — возможно ли отображать после редиректа таблицу с заказанными товарами?
Еще вопрос — возможно ли отображать после редиректа таблицу с заказанными товарами?
Конечно:
1. Добавляете в вызов сниппета sendRedirect еще один параметр, например &order=`айди_заказа`
2. В коде сниппета sendRedirect обрабатываете его и передаете в функцию редиректа:
Да, если вы не пользуетесь феномом и не знаете, как получить гет-параметр, то нужно создать свой сниппет с примерно таким содержимым:
И вызывать на странице следующим образом: [[!snippet_name? ¶m=`order`]]
1. Добавляете в вызов сниппета sendRedirect еще один параметр, например &order=`айди_заказа`
2. В коде сниппета sendRedirect обрабатываете его и передаете в функцию редиректа:
//...
$order = intval($order);
//...
$modx->sendRedirect($modx->makeUrl($id) . '?order=' . $order, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
3. Теперь на странице переадресации будет доступен гет-параметр order, который можно передать в свой сниппет, формирующий нужную вам таблицу заказов (msGetOrder).Да, если вы не пользуетесь феномом и не знаете, как получить гет-параметр, то нужно создать свой сниппет с примерно таким содержимым:
<?php
return $_GET[$param];
И вызывать на странице следующим образом: [[!snippet_name? ¶m=`order`]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.