Saya ingin memindahkan tombol pesanan dari pembayaran ke sidebar di halaman checkout.
Adakah yang bisa memberi saya saran?
Sunting : Apakah ini mungkin (dengan jawaban / pendekatan yang disediakan) ?
Dari penelitian saya, setiap metode pembayaran memiliki templat .html sendiri termasuk tombol sendiri. Tombol ini tidak dimuat dari templat knockout.js. Misalnya bagian dari metode pembayaran "gratis":
<div class="checkout-agreements-block">
<!-- ko foreach: $parent.getRegion('before-place-order') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="actions-toolbar">
<div class="primary">
<button class="action primary checkout"
type="submit"
data-bind="
click: placeOrder,
attr: {title: $t('Place Order')},
css: {disabled: !isPlaceOrderActionAllowed()}
">
<span data-bind="i18n: 'Place Order'"></span>
</button>
</div>
</div>
Sementara metode pembayaran "cek / wesel" terlihat seperti ini (hanya ada perbedaan enable: (getCode() == isChecked())
tapi hei, masih ada perbedaan dan tidak ada "1 tombol pesanan tempat umum yang maha kuasa":
<div class="checkout-agreements-block">
<!-- ko foreach: $parent.getRegion('before-place-order') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="actions-toolbar">
<div class="primary">
<button class="action primary checkout"
type="submit"
data-bind="
click: placeOrder,
attr: {title: $t('Place Order')},
css: {disabled: !isPlaceOrderActionAllowed()},
enable: (getCode() == isChecked())
"
disabled>
<span data-bind="i18n: 'Place Order'"></span>
</button>
</div>
</div>
Jawaban yang diberikan hanya memindahkan perjanjian yang menghasilkan sesuatu seperti ini:
magento-2.1
onepage-checkout
knockoutjs
place-order
TUYEN TRAN THANH
sumber
sumber
Jawaban:
Saya memiliki persyaratan yang sama untuk mengubah tombol pesanan di bagian bawah blok ringkasan. Karena ada tombol pesanan tempat yang ditetapkan untuk setiap metode pembayaran. Saya telah membuat tombol pesanan tempat khusus di sebelah blok ringkasan pesanan. Sambil mengklik tombol saya telah memicu tombol pesanan tempat dari metode pembayaran yang dipilih.
Langkah 1:
Buat
checkout_index_index.xml
file dalamLangkah 2:
Buat file
summary.html
di jalurLangkah 3:
Buat file
summary.js
di jalurLangkah 4:
Untuk menyembunyikan tombol pesanan tempat default, gunakan file CSS sebagai berikut
Terlampir adalah tangkapan layar!
sumber
Semua jawaban ini tidak lengkap karena tidak ada file registrasi.php untuk modul register
Ini jawaban terbaik yang saya temukan.
https://github.com/davidroberto/magento2-place_order_sidebar
Berikut adalah modul lengkap yang Anda butuhkan hanya untuk menempatkan di bawah App / kode dan untuk menjalankan setup php bin / magento: perintah upgrade
Semoga bantuan ini !!!
sumber
pada awalnya Anda perlu membuat checkout_index_index.xml di tema Anda, kemudian perlu menonaktifkan item sebelum-pesanan di 314 baris:
dengan:
Maka Anda perlu menambahkan kembali elemen itu di akhir Checkout Anda, setelah tombol pesanan tempat, seperti ini:
Kemudian salin di templat default Anda (html) setelah pesanan tempat:
sumber