1ページのチェックアウト:登録済みの顧客ログインは、アカウントまたはログインページを作成するためにリダイレクトします


7

私は最近1.8.1にアップグレードしましたが、magentoは初めてです。サイトの他のすべての側面は問題なく機能しているようですが、既存のアカウントを持つ顧客がカートに商品を追加してチェックアウトすると、「すでに登録されていますか?」という1ページのセクションが表示されます。以下にログイン: 'ログインボタンをクリックすると、[ログインまたはアカウントの作成]ページにリダイレクトされます。そこからログインすると、顧客はチェックアウトプロセスを再度実行して注文を出すことができますが、必要以上に面倒です!

どんな助けでも大歓迎です!

注意:ウェブサイトはhttps://astuteclothing.co.ukです

回答:


12

私はまったく同じ問題を抱えていました。1.1.8のテンプレートを購入しましたが、バージョン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でした。


ああ、それはトリックをした!本当にありがとうございます、あなたは私に深刻な頭痛を救いました!
デイブ

まだChromeでは動作しませんが、他のすべてのブラウザは動作しています。
ジェム

4

これで問題が解決しました。<ul class="form-list">が1ページのlogin.phtmlファイルで2回発生し、両方の場所にform_key入力を追加する必要があることに注意してください。また、上記のように、行に「php」がありません(少なくとも私はそれが必要であると想定しています)。それは読むべきです:

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

これがこの問題を抱えている他の誰かを助けることを願っています。


この行を追加する必要がある理由を知っていてもよいですか、Magentoはお勧めですか?
ジェム

1

ログイン時に作成されるカスタマーセッションに問題があるようですが、ログイン用のカスタムコードがありますか?

ワンページチェックアウトログインブロックは、構成中に顧客がログインしているかどうかをチェックします。 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();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.