Проверка на странице: Перенаправление уже зарегистрированного входа клиента для создания учетной записи или страницы входа


Я недавно обновился до версии 1.8.1 и довольно новичок в magento. Все остальные аспекты моего сайта, похоже, работают просто отлично, однако, когда клиент с существующей учетной записью добавляет товар в корзину и переходит к оформлению заказа, а затем получает раздел с одной страницей: "Уже зарегистрирован? Войдите в систему ниже: "кнопка входа перенаправляет на страницу "Войти или создать учетную запись". После входа в систему там клиент может снова пройти процесс оформления заказа и заказы можно размещать, но это гораздо больше хлопот, чем нужно!

Мы будем очень признательны за любую помощь!

N.B: Веб-сайт является https://astuteclothing.co.uk

Author: Marius, 2014-01-12

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 .

 12
Author: Parcye, 2014-07-02 14:34:35

Это помогло мне решить проблему. Обратите внимание, что <ul class="form-list"> встречается дважды в файле onepage login.phtml, и вам нужно добавить ввод form_key в обоих местах. Кроме того, в строке отсутствует "php", как показано выше (по крайней мере, я предполагаю, что это необходимо). Он должен гласить:

<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />

Надеюсь, это поможет кому-то еще, у кого есть эта проблема.

 4
Author: JR Dixey, 2014-03-23 23:55:30

Похоже, что, возможно, что-то не так с вашей клиентской сессией, которая создается при входе в систему, у вас есть какой-то пользовательский код для входа в систему?

Блок входа в систему 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();
 1
Author: David Manners, 2014-01-12 17:20:34