Saltar al contenido

Magento2 – Anular Magento/Checkout/view/frontend/web/js/view/shipping.js

Esta duda se puede abordar de diversas maneras, sin embargo te mostramos la que para nosotros es la respuesta más completa.

Solución:

Acabo de encontrar una manera de anular esa función usando ‘mixins’.

En el archivo requirejs-config.js tuve que agregar:

  config: 
            mixins: 
                'Magento_Checkout/js/view/shipping': 
                    'Mynamespace_Mymodule/js/view/shipping': true
                
            
        

Cree un archivo Mynamespace/Mymodule/view/frontend/web/js/view/shipping.js

define(
    [
        'jquery',
        'underscore',
        'Magento_Ui/js/form/form',
        'ko',
        'Magento_Customer/js/model/customer',
        'Magento_Customer/js/model/address-list',
        'Magento_Checkout/js/model/address-converter',
        'Magento_Checkout/js/model/quote',
        'Magento_Checkout/js/action/create-shipping-address',
        'Magento_Checkout/js/action/select-shipping-address',
        'Magento_Checkout/js/model/shipping-rates-validator',
        'Magento_Checkout/js/model/shipping-address/form-popup-state',
        'Magento_Checkout/js/model/shipping-service',
        'Magento_Checkout/js/action/select-shipping-method',
        'Magento_Checkout/js/model/shipping-rate-registry',
        'Magento_Checkout/js/action/set-shipping-information',
        'Magento_Checkout/js/model/step-navigator',
        'Magento_Ui/js/modal/modal',
        'Magento_Checkout/js/model/checkout-data-resolver',
        'Magento_Checkout/js/checkout-data',
        'uiRegistry',
        'mage/translate',
        'Magento_Checkout/js/model/shipping-rate-service'
    ],function (
        $,
        _,
        Component,
        ko,
        customer,
        addressList,
        addressConverter,
        quote,
        createShippingAddress,
        selectShippingAddress,
        shippingRatesValidator,
        formPopUpState,
        shippingService,
        selectShippingMethodAction,
        rateRegistry,
        setShippingInformationAction,
        stepNavigator,
        modal,
        checkoutDataResolver,
        checkoutData,
        registry,
        $t) 
    'use strict';

    var mixin = 

        selectShippingMethod: function (shippingMethod) 
            console.log("method overriden");
            selectShippingMethodAction(shippingMethod);
            checkoutData.setSelectedShippingRate(shippingMethod.carrier_code + '_' + shippingMethod.method_code);

            return true;
        
    ;

    return function (target)  // target == Result that Magento_Ui/.../default returns.
    return target.extend(mixin); // new result that all other modules receive 
;
);

Información útil:

https://github.com/magento/magento2/issues/1864 Magento2 – Anular Magento/Checkout/view/frontend/web/js/view/shipping.js

En caso de que el archivo requirejs-config.js se vea así:

var config = 
     config:
       
         mixins:
           'Magento_Checkout/js/view/shipping':
               'Namespace_Module/js/view/shipping': true 
           
       
   ;

esto funcionó para mí

Puede anular el módulo central js mediante el uso de un tema personalizado.

Tienes que copiar el archivo js de

Magento/Checkout/view/frontend/web/js/view/shipping.js

y ponerlo en el camino dado

/app/design/frontend/Theme/Packadge/Magento_Checkout/web/js/view/shipping-information.js

modificar por sus cambios en el archivo.

Ejecute el siguiente comando para implementar static contenido

php bin/magento setup:static-content:deploy

Ahora verifique sus cambios y avíseme si tiene alguna consulta.

No se te olvide compartir esta división si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *