Ich möchte die Schaltfläche "Bestellung aufgeben" von der Zahlung in die Seitenleiste auf der Checkout-Seite verschieben.
Kann mir jemand einen Vorschlag machen?
Bearbeiten : Ist das überhaupt möglich (mit der Antwort / dem Ansatz) ?
Nach meinen Recherchen hat jede Zahlungsmethode eine eigene HTML-Vorlage mit einer eigenen Schaltfläche. Diese Schaltfläche wird nicht aus einer knockout.js-Vorlage geladen. ZB ein Teil der "kostenlosen" Zahlungsmethode:
<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>
Während die Zahlungsmethode "Scheck / Zahlungsanweisung" so aussieht (nur Unterschiede sind, enable: (getCode() == isChecked())
aber hey, es gibt immer noch Unterschiede und es gibt keinen "1 allmächtigen allgemeinen Bestellknopf":
<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>
Die Antwort verschiebt nur die Vereinbarungen, die zu so etwas führen:
quelle
Antworten:
Ich hatte die ähnliche Anforderung, die Schaltfläche zum Bestellen am unteren Rand des Zusammenfassungsblocks zu ändern. Da jeder Zahlungsmethode eine Bestellschaltfläche zugeordnet ist. Ich habe eine benutzerdefinierte Bestellschaltfläche neben dem Bestellübersichtsblock erstellt. Beim Klicken auf die Schaltfläche habe ich die Schaltfläche Bestellung aufgeben der ausgewählten Zahlungsmethode ausgelöst.
Schritt 1:
Erstellen Sie eine
checkout_index_index.xml
Datei inSchritt 2:
Erstellen Sie eine Datei
summary.html
im PfadSchritt 3:
Erstellen Sie eine Datei
summary.js
im PfadSchritt 4:
Verwenden Sie die folgende CSS-Datei, um die Standardschaltfläche für die Ortsreihenfolge auszublenden
Anbei der Screenshot!
quelle
Alle diese Antworten sind nicht vollständig, da die Datei register.php für das Registrierungsmodul fehlt
Dies ist die beste Antwort, die ich gefunden habe.
https://github.com/davidroberto/magento2-place_order_sidebar
Hier ist das komplette Modul, das Sie nur unter App / Code platzieren und den Befehl php bin / magento setup: upgrade ausführen müssen
Ich hoffe das hilft!!!
quelle
Zuerst müssen Sie checkout_index_index.xml in Ihrem Design erstellen und dann das Element vor der Bestellung in der Zeile 314 deaktivieren:
mit:
Dann müssen Sie dieses Element am Ende Ihrer Kaufabwicklung nach der Schaltfläche zum Bestellen erneut wie folgt hinzufügen:
Kopieren Sie dann nach der Bestellung Ihre Standardvorlage (HTML):
quelle