Перейти к содержанию
Форум поддержки пользователей VamShop

Редирект на страницу оформления


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

Столкнулся со следующей проблемой.

 

Делаю страницу оформления товара. На странице есть кнопка, которая ведет на страницу редактирования адреса (если его нет, то есть возможность добавить, если есть - изменить). Как сделать редирект обратно на страницу оформления заказа (checkout)? По умолчанию перекидывает сразу на личный кабинет.

 

Вот ссылка на страницу:

http://rabotatlegko.org.ua/page/checkout.html

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

У Вас форма на странице добавления адреса /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']);
}
Ссылка на сообщение
Поделиться на другие сайты

Кстати, а у Вас сайт ведь не адаптивный, а учитывая, с какой скоростью сейчас растёт количество выходов в инет со смартфонов и планшетов, это, мягко говоря, не очень хорошо.

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

Да, но проблема в том, что страниц добавления адреса есть 2:

 

1 - http://rabotatlegko.org.ua/customer/address_book.html - должен быть редирект на профиль

2 - http://rabotatlegko.org.ua/page/checkout-adress-change.html - должен быть редирект на страницу оформления

 

Как быть в этой ситуации?

 

По поводу адаптивности, это отдельный вопрос. Изначально планировалось сделать отдельную версию под мобильные девайсы, которая будет размещатся на отдельном поддомене но будет использовать базу одну и туже. Скажите такое возможно?

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

Так у Вас на этой странице точно такая же форма ведь, форма точно такая же.

 

Разве что можно ещё проверку добавить, если авторизованный покупатель, тогда возвращаться в аккаунт.

 

Может как-то так:

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']
Ссылка на сообщение
Поделиться на другие сайты

А зачем так усложнять жизнь и себе и пользователям.

 

Не лучше ли сделать адаптивный шаблон, зачем распылять свои усилия на два поддомена, тратить в два раза больше времени?!

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

Этот код в обоих случаях редиректит на оформление заказа

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']
Ссылка на сообщение
Поделиться на другие сайты

А корзина пустая?!

 

Проверяется ведь корзина.

 

Попробуйте так, проверяется сумма корзины, если больше нуля, редиректит на оформление заказа:

global $order;
if ($order['Order']['total'] > 0) {
$this->redirect('/page/checkout'  . $config['URL_EXTENSION']);
} else {
$this->redirect('/customer/account'  . $config['URL_EXTENSION']);
}
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...