Fla*_*akx 4 login checkout magento
当用户未登录(匿名)点击时Proceed to checkout,我希望他们被带到登录页面.然后,在他们登录或注册后,他们应该被带回结账页面.
我使用onepage结账,其中有你没有登录在登录部分,但是这是权力不希望这样.
最初,我开始改变checkout.xml这些值的路线:
<customer_logged_in>
<block type="core/text_list" name="checkout.cart.top_methods" as="top_methods" translate="label">
<label>Payment Methods Before Checkout Button</label>
<block type="checkout/onepage_link" name="checkout.cart.methods.onepage" template="checkout/onepage/link.phtml"/>
</block>
</customer_logged_in>
<customer_logged_out>
<block type="core/text_list" name="checkout.cart.top_methods" as="top_methods" translate="label">
<label>Payment Methods Before Checkout Button</label>
<block type="checkout/onepage_link_not_logged_in" name="checkout.cart.methods.onepage" template="checkout/onepage/link_not_logged_in.phtml"/>
</block>
</customer_logged_out>
Run Code Online (Sandbox Code Playgroud)
而且link_not_logged_in.phtml:
$this->getLoginUrl();
Run Code Online (Sandbox Code Playgroud)
但这甚至没有拉我的新phtml文件,我甚至不确定这会带我到结帐页面之后.任何文章或帮助大大收到.
转到您的网站admin.点击Stores.转到Configuration- > Sales- > Checkout- > Checkout Options并设置Allow Guest Checkout为"否"
edit
打开app/design/frontend/base/default/template/checkout/onepage.phtml.将以下代码放在文件的最顶部:
<?php
if (!$this->helper('customer')->isLoggedIn()) {
header("Location: /customer/account/login/");
exit();
}
?>
Run Code Online (Sandbox Code Playgroud)
最后,安装Custom Login Redirect在https://marketplace.magento.com/magehit-magehit-customloginredirect.html.转到管理员 - >系统 - >配置 - >客户 - >自定义登录重定向.设置为checkout/cart
搞定!我测试了它,它完成了你所描述的.通常我会通过所有各种步骤来完成这些扩展中存在的修订,但是您可以通过转到app/code/local并查看扩展代码来查看.