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 applyBillingAddressFunktion in vendor/magento/module-checkout/view/frontend/web/js/model/checkout-data-resolver.jsZeile 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.jsmit 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.jszu app/code/Vendor/Module/view/frontend/web/js/checkout-data-resolver.jsund 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.jsnach app/code/Vendor/Module/view/frontend/web/js/shipping-save-processor/default.jsund 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/frontendregenerieren Sie Ihren statischen Inhalt:
php bin/magento setup:static-content:deploy
Leeren Sie den Magento-Cache und Sie sollten fertig sein.