Onepage Checkout: Bereits registrierte Kundenanmeldungen werden umgeleitet, um ein Konto oder eine Anmeldeseite zu erstellen

7

Ich habe kürzlich ein Upgrade auf 1.8.1 durchgeführt und bin ziemlich neu in Magento. Alle anderen Aspekte meiner Website scheinen einwandfrei zu funktionieren. Wenn jedoch ein Kunde mit einem vorhandenen Konto einen Artikel in den Warenkorb legt und zur Kasse geht, wird der einseitige Abschnitt angezeigt: 'Bereits registriert? Melden Sie sich unten an: 'Die Anmeldeschaltfläche leitet zur Seite' Anmelden oder Konto erstellen 'weiter. Sobald der Kunde dort angemeldet ist, kann er den Bestellvorgang erneut durchlaufen und Bestellungen aufgeben. Dies ist jedoch weitaus mühsamer als nötig!

Jede Hilfe wäre sehr dankbar!

NB: Die Website lautet https://astuteclothing.co.uk

Dave
quelle

Antworten:

12

Ich hatte genau das gleiche Problem. Ich habe eine Vorlage für 1.7.2 gekauft, ohne zu wissen, dass ich gerade Version 1.8.1 installiert habe.

Eines der Dinge, mit denen ich Probleme hatte, war diese Situation. Das Update ist nicht so schwer.

In der müssen app/design/frontend/default/[themename]/template/persistent/checkout/onepage/login.phtmlSie eine Signallinie hinzufügen.

Suchen <ul class="form-list">und hinzufügen:

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

Ich musste das auch in tun app/design/frontend/default/[themename]/template/persistent/customer/form/login.phtml.

Parcye
quelle
Ah das hat den Trick gemacht! Vielen Dank, Sie haben mir ernsthafte Kopfschmerzen erspart !!
Dave
Funktioniert immer noch nicht in Chrome, aber alle anderen Browser funktionieren.
Gem
4

Dies hat das Problem für mich behoben. Beachten Sie, dass dies <ul class="form-list">in der onepage login.phtml-Datei zweimal vorkommt und Sie die Eingabe form_key an beiden Stellen hinzufügen müssen. Außerdem fehlt in der Zeile ein "PHP", wie oben gezeigt (zumindest gehe ich davon aus, dass dies erforderlich ist). Es sollte lauten:

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

Hoffe, dies hilft jemand anderem, der dieses Problem hat.

JR Dixey
quelle
Darf ich wissen, warum ich diese Zeile hinzufügen muss? Wird Magento empfohlen?
Gem
1

Es scheint, dass möglicherweise etwas mit Ihrer Kundensitzung nicht stimmt, die beim Anmelden erstellt wird. Haben Sie einen benutzerdefinierten Code für das Anmelden?

Der einseitige Checkout-Anmeldeblock prüft, ob der Kunde während des Konstrukts angemeldet ist. 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();
}

Die Funktion isCustomerLoggedIn überprüft nur die aktuelle Kundensitzung. Ich würde vorschlagen, hier zuerst zu debuggen, um zu sehen, ob etwas nicht stimmt.

Mage::getSingleton('customer/session')->isLoggedIn();
David Manners
quelle