Отправить на нужную станицу после оформления заказ
Сделал на сайте в категории модальное окно с корзиной. Корзина подгружется со станицы с корзиной. Так вот, когда посетитель ввел телефон и прочее, он должен попадать на станицу на страницу «site.ru/cart.html&msorder=1», но т.к. он находится в категории, то он попадает на страницу «site.ru/category/&msorder=1» на которой непонятно, что заказ оформлен.
Вопрос: как его перенаправить на нужную страницу?
Вопрос: как его перенаправить на нужную страницу?
Комментарии: 11
Забацай плагин, который будет редиректить с любой страницы сайта на корзину:
if (!empty($_GET['msorder'])) {
// ...
}
Спасибо.
А событие должно быть msOnCreateOrder?
А событие должно быть msOnCreateOrder?
Нет, OnLoadWebPage.
Если ты попадаешь на любую другую страницу с параметром msorder, кроме корзины, должно перенаправлять в корзину — такая идея.
Конечно, нужно проверять, что сейчас за страница и не является ли корзиной она.
Если ты попадаешь на любую другую страницу с параметром msorder, кроме корзины, должно перенаправлять в корзину — такая идея.
Конечно, нужно проверять, что сейчас за страница и не является ли корзиной она.
Василий, спасибо большое за помощь.
Прошу проверить:
Вроде работает как надо.
Прошу проверить:
if (!empty($_GET['msorder']) && $_SERVER['REQUEST_URI']!= "/cart.html&msorder=".$_GET['msorder']) {
header('Location:http://'.$_SERVER['SERVER_NAME']."/cart.html&msorder=".$_GET['msorder']);
exit;
}
Повесил на событие OnLoadWebDocument. OnLoadWebPage — не нашел (MODx 2.3.1)Вроде работает как надо.
В целом, всё верно, но лучше так:
$cart_id = 58;
if (!empty($_GET['msorder']) && $modx->resource->id != $cart_id) {
$url = $modx->makeUrl($cart_id, '', $_GET);
$modx->sendRedirect($url);
}
Просто укажи свой id своей страницы с корзиной.
Циклическая переадресация.
Может как-то так?
Может как-то так?
$cart_id = 10;
if (!empty($_GET['msorder']) && $modx->resource->id != $cart_id) {
$url = $modx->makeUrl($cart_id, '', "msorder=".$_GET['msorder']);
$modx->sendRedirect($url);
}
Это у тебя, видимо, friendly_urls не включены, поэтому id страницы попадает в $_GET.
Включены. Но почему-то переход осуществляется на
http://site.ru/cart.html?q=category%2F&msorder=30
И еще вопрос. Не по теме.
Как в php сделать первую букву в нижнем регистре. lcfirst не работает с utf-8. Другие решения (с mb_strtolower) меняют кодировку этого символа.
Может ты знаешь какое решение?
Как в php сделать первую букву в нижнем регистре. lcfirst не работает с utf-8. Другие решения (с mb_strtolower) меняют кодировку этого символа.
Может ты знаешь какое решение?
У mb_strtolower нужно указывать кодировку вторым параметром.
$string = mb_strtolower($string, 'UTF-8');
Спасибо, действительно работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.