猿问

购物车估计含税运费-有关运费总额的问题

我在Magento 2站点上使用WebShopApps_MatrixRates模块,并且该模块配置有一种用于该地区的投放方式,而另外两种用于该地区某些城市的投放方式。

我已经在购物车页面上设置了“估算税和运费”表格,以显示地区和城市字段。偏好:


Magento \ Checkout \ Block \ Cart \ LayoutProcessor

    public function process($jsLayout)

    {

        $elements = [

            'city' => [

                'visible' => true,

                'formElement' => 'select',

                'label' => __('City'),

                'options' => $this->bcCitiesOptionsArray,

            ],

            'country_id' => [

                'visible' => false,  //Remove the country

                'formElement' => 'select',

                'label' => __('Country'),

                'options' => [],

                'value' => null

            ],

            'region_id' => [

                'visible' => true,

                'formElement' => 'select',

                'label' => __('State/Province'),

                'options' => [],

                'value' => null

            ],

            'postcode' => [

                'visible' => false, //Remove Postal Code

                'formElement' => 'input',

                'label' => __('Zip/Postal Code'),

                'value' => null

            ]

        ];


        if (!isset($jsLayout['components']['checkoutProvider']['dictionaries'])) {

            $jsLayout['components']['checkoutProvider']['dictionaries'] = [

                'country_id' => $this->countryCollection->loadByStore()->toOptionArray(),

                'region_id' => $this->regionCollection->addAllowedCountriesFilter()->toOptionArray(),

            ];

        }


当我用两种方法选择一个城市时,将加载具有正确方法和价格的运输表格。

其中不包含有关城市的信息。

那么,如何将城市添加到$ shippingInformation变量中?


MMTTMM
浏览 87回答 1
1回答

心有法竹

我找到了解决方案,这很简单!由于文件中的过滤,未将城市添加到地址中供应商/ magento /模块结帐/视图/前端/web/js/model/cart/totals-processor/default.js方法loadFromServer() Line32:address: _.pick(address, cartCache.requiredFields)所以我只是覆盖文件供应商/ magento /模块结帐/视图/前端/web/js/model/cart/cache.js我的主题并更改了第78行从:        requiredFields: ['countryId', 'region', 'regionId', 'postcode'],至:        requiredFields: ['countryId', 'region', 'regionId', 'city'],它解决了问题!
随时随地看视频慕课网APP
我要回答