Magento2:如何將購物車的結帳按鈕移到畫面最底下
在Magento2的結帳頁中,預設的結帳按鈕是跟著結帳方式跑的。每個結帳方式都有自己的結帳按鈕。
那如果我們想要把結帳按鈕移到結帳頁的畫面底下,並且希望只有一個結帳按鈕的話、又該如何處理呢?
假設我們使用的主題包是AstralWeb/theme,
底下我們的範例是直接在AstralWeb/theme這個主題包裡移動結帳按鈕的位置。
第一步、建立app/design/frontend/AstralWeb/theme/Magento_Checkout/layout/checkout_index_index.xml
<?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="checkout.root"> <arguments> <argument name="jsLayout" xsi:type="array"> <item name="components" xsi:type="array"> <item name="checkout" xsi:type="array"> <item name="children" xsi:type="array"> <item name="steps" xsi:type="array"> <item name="children" xsi:type="array"> <item name="billing-step" xsi:type="array"> <item name="children" xsi:type="array"> <item name="payment" xsi:type="array"> <item name="children" xsi:type="array"> <item name="afterMethods" xsi:type="array"> <item name="children" xsi:type="array"> <item name="place-order" xsi:type="array"> <item name="component" xsi:type="string">Magento_Checkout/js/view/place-order</item> <item name="config" xsi:type="array"> <item name="template" xsi:type="string">Magento_Checkout/place-order</item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </argument> </arguments> </referenceBlock> </body> </page>
第二步、新增app/design/frontend/AstralWeb/theme/Magento_Checkout/web/js/view/place-order.js
define([ 'jquery', 'uiComponent', ], function($, Component) { 'use strict'; return Component.extend({ placeOrder: function() { console.log('placeOrder') $('.payment-method._active').find('.actions-toolbar').find('[type="submit"]').trigger('click'); } }); });
第三步:新增app/design/frontend/AstralWeb/theme/Magento_Checkout/web/template/place-order.html
<div class="checkout-content-container"> <button id="checkout-place-order-btn" class="button action primary" data-bind="click:placeOrder"> <span data-bind="i18n: 'Place Order'"></span> </button> </div>
第四步:新增app/design/frontend/AstralWeb/theme/Magento_Checkout/web/css/place-order.css
.opc-payment .payment-group .actions-toolbar{ display: none; }
以上就是本篇的分享,大家都成功了嗎?!除了移動購物車的結帳按鈕,之後我們也會告訴各位如何將同意條款移動至畫面底下呦!不想錯過的讀者們,記得訂閱歐斯瑞Facebook粉絲團及IG,為您帶來第一手的新知分享,也可以訂閱電子報。若有Magento相關問題,也歡迎隨時聯繫我們!下次見囉!
我要留言