wkornilow 1 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 Столкнулся со следующей проблемой. Делаю страницу оформления товара. На странице есть кнопка, которая ведет на страницу редактирования адреса (если его нет, то есть возможность добавить, если есть - изменить). Как сделать редирект обратно на страницу оформления заказа (checkout)? По умолчанию перекидывает сразу на личный кабинет. Вот ссылка на страницу: http://rabotatlegko.org.ua/page/checkout.html Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 У Вас форма на странице добавления адреса /site/address_book/ Соответственно, используется контроллер /app/Controller/SiteCotroller.php, метод address_book Смотрите там внизу метода обычно задаётся редирект. Видимо, нужно поменять: $this->redirect('/customer/account' . $config['URL_EXTENSION']); на: $this->redirect('/page/checkout' . $config['URL_EXTENSION']); Но это конечно не совсем правильно, нужно ещё добавлять условие, не пустая ли корзина, а то какой смысл перекидывать на оформление, если в корзине ничего нет. Наверное вот так лучше: global $order; if (isset($order['OrderProduct'])) { $this->redirect('/page/checkout' . $config['URL_EXTENSION']); } else { $this->redirect('/customer/account' . $config['URL_EXTENSION']); } Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 Кстати, а у Вас сайт ведь не адаптивный, а учитывая, с какой скоростью сейчас растёт количество выходов в инет со смартфонов и планшетов, это, мягко говоря, не очень хорошо. Ссылка на сообщение Поделиться на другие сайты
wkornilow 1 Опубликовано 12 июня, 2015 Автор Жалоба Share Опубликовано 12 июня, 2015 Да, но проблема в том, что страниц добавления адреса есть 2: 1 - http://rabotatlegko.org.ua/customer/address_book.html - должен быть редирект на профиль 2 - http://rabotatlegko.org.ua/page/checkout-adress-change.html - должен быть редирект на страницу оформления Как быть в этой ситуации? По поводу адаптивности, это отдельный вопрос. Изначально планировалось сделать отдельную версию под мобильные девайсы, которая будет размещатся на отдельном поддомене но будет использовать базу одну и туже. Скажите такое возможно? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 Так у Вас на этой странице точно такая же форма ведь, форма точно такая же. Разве что можно ещё проверку добавить, если авторизованный покупатель, тогда возвращаться в аккаунт. Может как-то так: global $order; if (isset($order['OrderProduct'])) { $this->redirect('/page/checkout' . $config['URL_EXTENSION']); } elseif (isset($_SESSION['Customer']['customer_id'])) { $this->redirect('/customer/account' . $config['URL_EXTENSION']); } else { $this->redirect('/page/checkout-address-change' . $config['URL_EXTENSION']); } $_SESSION['Customer']['customer_id'] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 А зачем так усложнять жизнь и себе и пользователям. Не лучше ли сделать адаптивный шаблон, зачем распылять свои усилия на два поддомена, тратить в два раза больше времени?! Ссылка на сообщение Поделиться на другие сайты
wkornilow 1 Опубликовано 12 июня, 2015 Автор Жалоба Share Опубликовано 12 июня, 2015 Этот код в обоих случаях редиректит на оформление заказа global $order; if (isset($order['OrderProduct'])) { $this->redirect('/page/checkout' . $config['URL_EXTENSION']); } else { $this->redirect('/customer/account' . $config['URL_EXTENSION']); } Этот при сабмите выдает белую страницу global $order; if (isset($order['OrderProduct'])) { $this->redirect('/page/checkout' . $config['URL_EXTENSION']); } elseif (isset($_SESSION['Customer']['customer_id'])) { $this->redirect('/customer/account' . $config['URL_EXTENSION']); } else { $this->redirect('/page/checkout-address-change' . $config['URL_EXTENSION']); } $_SESSION['Customer']['customer_id'] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 июня, 2015 Жалоба Share Опубликовано 12 июня, 2015 А корзина пустая?! Проверяется ведь корзина. Попробуйте так, проверяется сумма корзины, если больше нуля, редиректит на оформление заказа: global $order; if ($order['Order']['total'] > 0) { $this->redirect('/page/checkout' . $config['URL_EXTENSION']); } else { $this->redirect('/customer/account' . $config['URL_EXTENSION']); } Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения