2012-08-08 55 views
1

我一直使用magento 1.5。在那里,当我在单页签出的第一步中单击注册时,页面将自动打开表单进行注册,无需重新加载。当您单击“注册”时,Magento在Onepage结帐的URL中添加“&register”

现在我正在研究magento 1.7上的商店,我意识到这样做效果不好。当我进入Onepage结帐并点击REGISTER时,Magento重新加载页面,加载表单并在URL中添加“&注册表”,例如:www.domain.com/checkout/onepage/ &注册表。

我试过几种方法来禁用重新加载和这个“&注册”..我想保持这个页面像magento 1.5 ..我还看到其他商店在Magento 1.7中没有这个问题。谁能帮我?

回答

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> 

如果你不使用你的持久化模块,可以通过改变应用程序的/ etc /模块/禁用Mage_Persistent.xml <active>false</active>

它看起来像该模块已经创建整齐,所以它不会破坏任何东西,如果你禁用它,虽然我不太确定

其他方式是更改模板,c将该行代码改为:

<button type="button" class="button" onclick="checkout.setMethod();"><span><span><?php echo ($this->getQuote()->isAllowedGuestCheckout() ? $this->__('Continue') : $this->__('Register')) ?></span></span></button> 
+0

嘿,谢谢你的回答!我禁用了持久性购物车进行测试并重新加载。但我看到一些像www.protoparadigm.com这样的商店使用持久购物车(尝试登录/注册),并且不会在结帐注册中重新加载。你有一些想法如何使用持续购物车,并删除结帐重新加载? – Paulo 2012-08-08 16:09:59

+0

基本上,只有在客人结帐时才允许“注册期间重新加载”。例如,它允许访客结帐,因此它不会重新加载页面。你可以使用ajax来防止它重新加载页面 – ivantedja 2012-08-08 17:12:20

+0

男人,非常感谢你!我救了我! – Paulo 2012-08-08 18:20:12

相关问题