Ich möchte die Standardposition der Rechnungsadresse ändern, die unter den Zahlungsinformationen steht. Ich benötige sie vor der Versandadresse (wie Magento 1).
Hat jemand eine Idee, um es zu erreichen, bitte helfen Sie?
Ich möchte die Standardposition der Rechnungsadresse ändern, die unter den Zahlungsinformationen steht. Ich benötige sie vor der Versandadresse (wie Magento 1).
Hat jemand eine Idee, um es zu erreichen, bitte helfen Sie?
Antworten:
Wir müssen die applyBillingAddress
Funktion in vendor/magento/module-checkout/view/frontend/web/js/model/checkout-data-resolver.js
Zeile 231 ändern :
Und kommentieren Sie diesen Teil aus:
/* if (shippingAddress &&
shippingAddress.canUseForBilling() &&
(shippingAddress.isDefaultShipping() || !quote.isVirtual())
) {
selectBillingAddress(quote.shippingAddress());
}
*/
And commend out code around line 34:
/*
if (!quote.billingAddress()) {
selectBillingAddressAction(quote.shippingAddress());
}
*/
Wir können die Javascript-Kerndateien selbst jedoch nicht ändern (Best Practices für Magento 2!).
Stattdessen erstellen wir ein einfaches Magento 2-Modul und erstellen eine Datei app/code/Vendor/Module/view/frontend/requirejs-config.js
mit folgendem Inhalt:
var config = {
map: {
'*': {
'Magento_Checkout/js/model/checkout-data-resolver':
'Vendor_Module/js/checkout-data-resolver'
,'Magento_Checkout/js/model/shipping-save-processor/default':
'Vendor_Module/js/shipping-save-processor/default'
}
}};
Dann kopieren vendor/magento/module-checkout/view/frontend/web/js/model/checkout-data-resolver.js
zu app/code/Vendor/Module/view/frontend/web/js/checkout-data-resolver.js
und kommentieren Sie inapp/code/Vendor/Module/view/frontend/web/js/checkout-data-resolver.js around line 231:
applyBillingAddress: function () {var Versandadresse;
if (quote.billingAddress()) {
selectBillingAddress(quote.billingAddress());
return;
}
shippingAddress = quote.shippingAddress();
/*if (shippingAddress &&
shippingAddress.canUseForBilling() &&
(shippingAddress.isDefaultShipping() || !quote.isVirtual())
) {
selectBillingAddress(quote.shippingAddress());
}*/
Und kopieren Sie vendor/magento/module-checkout/view/frontend/web/js/model/shipping-save-processor/default.js
nach app/code/Vendor/Module/view/frontend/web/js/shipping-save-processor/default.js
und inapp/code/Vendor/Module/view/frontend/web/js/shipping-save-processor/default.js comment out code around line 34:
'use strict';
return {
saveShippingInformation: function () {
var payload;
/*if (!quote.billingAddress()) {
selectBillingAddressAction(quote.shippingAddress());
}*/
payload = {
addressInformation: {
shipping_address: quote.shippingAddress(),
billing_address: quote.billingAddress(),
Nach diesem Löschordner pub/static/frontend
regenerieren Sie Ihren statischen Inhalt:
php bin/magento setup:static-content:deploy
Leeren Sie den Magento-Cache und Sie sollten fertig sein.