我在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变量中?
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
我找到了解决方案,这很简单!
由于文件中的过滤,未将城市添加到地址中
供应商/ 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'],
它解决了问题!
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消