Проверка на странице: Перенаправление уже зарегистрированного входа клиента для создания учетной записи или страницы входа
Я недавно обновился до версии 1.8.1 и довольно новичок в magento. Все остальные аспекты моего сайта, похоже, работают просто отлично, однако, когда клиент с существующей учетной записью добавляет товар в корзину и переходит к оформлению заказа, а затем получает раздел с одной страницей: "Уже зарегистрирован? Войдите в систему ниже: "кнопка входа перенаправляет на страницу "Войти или создать учетную запись". После входа в систему там клиент может снова пройти процесс оформления заказа и заказы можно размещать, но это гораздо больше хлопот, чем нужно!
Мы будем очень признательны за любую помощь!
N.B: Веб-сайт является https://astuteclothing.co.uk
3 answers
У меня была точно такая же проблема. Я купил шаблон для 1.7.2, не зная, что только что установил версию 1.8.1.
Одной из проблем, с которой у меня были проблемы, была эта ситуация. Исправить это не так уж и сложно.
В app/design/frontend/default/[themename]/template/persistent/checkout/onepage/login.phtml
вам нужно будет добавить строку знака.
Найдите <ul class="form-list">
и добавьте:
<input type="hidden" name="form_key" value="<? echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
Мне также пришлось сделать то же самое в app/design/frontend/default/[themename]/template/persistent/customer/form/login.phtml
.
Это помогло мне решить проблему. Обратите внимание, что <ul class="form-list">
встречается дважды в файле onepage login.phtml, и вам нужно добавить ввод form_key в обоих местах. Кроме того, в строке отсутствует "php", как показано выше (по крайней мере, я предполагаю, что это необходимо). Он должен гласить:
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
Надеюсь, это поможет кому-то еще, у кого есть эта проблема.
Похоже, что, возможно, что-то не так с вашей клиентской сессией, которая создается при входе в систему, у вас есть какой-то пользовательский код для входа в систему?
Блок входа в систему onepage checkout проверяет, вошел ли клиент в систему во время построения. Mage_Checkout_Block_Onepage_Login
protected function _construct()
{
if (!$this->isCustomerLoggedIn()) {
$this->getCheckout()->setStepData('login', array('label'=>Mage::helper('checkout')->__('Checkout Method'), 'allow'=>true));
}
parent::_construct();
}
Функция isCustomerLoggedIn просто проверяет текущий сеанс клиента. Я бы предложил сначала отладить здесь, чтобы посмотреть, не случилось ли чего-нибудь не так.
Mage::getSingleton('customer/session')->isLoggedIn();