1

私はいつもmagento 1.5で働いていました。そこで、Onepage チェックアウトの最初のステップで REGISTER をクリックすると、ページはリロードせずに登録用のフォームを自動的に開きます。

現在、magento 1.7 のストアに取り組んでいますが、うまく機能していないことに気付きました。Onepage チェックアウトに移動して REGISTER をクリックすると、Magento はページをリロードし、フォームを読み込み、URL に「& register」を追加します。例: www.domain.com/checkout/onepage/®ister。

リロードとこの「&登録」を無効にするいくつかの方法を試しました..このページをmagento 1.5のように保持したい..Magento 1.7には、この問題がない他のストアも見ました。誰でも私を助けることができますか?

4

1 に答える 1

3

永続モジュールの原因です (Magento 1.6 以降)

テンプレートファイルを見てください:

app/design/frontend/[base/default]/[default/yourTheme]/template/persistent/checkout/onepage/login.phtml

このコード行:

<?php if ($this->getQuote()->isAllowedGuestCheckout()): ?>
    <button id="onepage-guest-register-button" type="button" class="button" onclick="checkout.setMethod();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
<?php else: ?>
    <form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
        <button id="onepage-guest-register-button" type="submit" class="button"><span><span><?php echo $this->__('Register') ?></span></span></button>
    </form>
<?php endif; ?>

フォームのアクションを参照してください - >それがページをリロードするものです

テンプレートはどのように変更されますか?

app/design/frontend/[base/default]/[default/yourTheme]/layout/persistent.xml

このコード行:

<checkout_onepage_index>
    <reference name="checkout.onepage.login">
        <action method="setTemplate"><template>persistent/checkout/onepage/login.phtml</template></action>
        <block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
    </reference>
    <reference name="checkout.onepage.billing">
        <action method="setTemplate"><template>persistent/checkout/onepage/billing.phtml</template></action>
        <block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
        <block type="core/template" name="persistent.remember.me.tooltip" template="persistent/remember_me_tooltip.phtml" />
    </reference>
</checkout_onepage_index>

永続モジュールを使用していない場合は、 app/etc/modules/Mage_Persistent.xml を変更して無効にすることができます<active>false</active>

そのモジュールはきちんと作成されているように見えるので、無効にしても何も壊れませんが、よくわかりません

もう 1 つの方法は、テンプレートを変更して、そのコード行を次のように変更することです。

<button type="button" class="button" onclick="checkout.setMethod();"><span><span><?php echo ($this->getQuote()->isAllowedGuestCheckout() ? $this->__('Continue') : $this->__('Register')) ?></span></span></button>
于 2012-08-08T07:01:12.297 に答える