Содержание Информации о Доставке
Я хочу включить поле компании в блок информация о доставке-содержимое при оформлении заказа, если клиент заполняет поле на предыдущей странице.
Соответствующий блок на checkout_index_index.xml является
<item name="shipping-information" xsi:type="array">
<item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-information</item>
<item name="config" xsi:type="array">
<item name="deps" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item>
</item>
<item name="displayArea" xsi:type="string">shipping-information</item>
<item name="children" xsi:type="array">
<item name="ship-to" xsi:type="array">
<item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-information/list</item>
<item name="displayArea" xsi:type="string">ship-to</item>
</item>
</item>
</item>
Я добавил картинку, которая указывает, какой блок я имею в виду:
Может ли кто-нибудь дать свой совет?
2 answers
Для добавления поля компании на корабле в раздел и адреса доставки выполните следующие действия:
В добавить компанию/Новое поле в раздел адреса доставки , переопределить:
vendor/magento/module-checkout/view/frontend/web/template/shipping-address/address-renderer/default.html
Чтобы добавить Компанию/Новое поле поле в боковой панели Отправить в раздел переопределить:
vendor/magento/module-checkout/view/frontend/web/template/shipping-information/address-renderer/default.html
Для переопределения create requirejs-config.js
в
App/code/Vendor/Module/view/frontend/requirejs-config.js
var config = {
map: {
'*': {
'Magento_Checkout/template/shipping-address/address-renderer/default.html':
'Vendor_Module/template/shipping-address/address-renderer/default.html',
'Magento_Checkout/template/shipping-information/address-renderer/default.html':
'Vendor_Module/template/shipping-information/address-renderer/default.html'
}
}
};
После этого добавьте эту строку кода в переопределенный файл, в котором вы хотите отобразить поле компании.
<!-- ko text: address().company --><!-- /ko -->
Например
App/code/Vendor/Module/view/frontend/web/template/shipping-information/address-renderer/default.html
<div class="shipping-address-item" data-bind="css: isSelected() ? 'selected-item' : 'not-selected-item'">
<!-- ko text: address().prefix --><!-- /ko --> <!-- ko text: address().firstname --><!-- /ko -->
<!-- ko text: address().lastname --><!-- /ko --> <!-- ko text: address().suffix --><!-- /ko --><br/>
<!-- ko text: address().street --><!-- /ko --><br/>
<!-- ko text: address().company -->
<!-- ko text: address().city --><!-- /ko -->, <!-- ko text: address().region --><!-- /ko --> <!-- ko text: address().postcode --><!-- /ko --><br/>
<!-- ko text: getCountryName(address().countryId) --><!-- /ko --><br/>
<!-- ko text: address().telephone --><!-- /ko --><br/>
<!-- ko foreach: { data: address().customAttributes, as: 'element' } -->
<!-- ko foreach: { data: Object.keys(element), as: 'attribute' } -->
<!-- ko text: element[attribute].value --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- ko if: (address().isEditable()) -->
<button type="button"
class="action edit-address-link"
data-bind="click: editAddress, visible: address().isEditable()">
<span data-bind="i18n: 'Edit'"></span>
</button>
<!-- /ko -->
<button type="button" data-bind="click: selectAddress" class="action action-select-shipping-item">
<span data-bind="i18n: 'Ship Here'"></span>
</button>
</div>
Затем выполните необходимые команды, надеюсь, это вам поможет.
Перезаписать vendor/magento/module-checkout/view/frontend/web/template/shipping-information/address-renderer/default.html
Добавьте следующий код после страны для отображения компании (визуализатор правой боковой панели)
<!-- ko text: address().company --><!-- /ko -->
Для способа оплаты добавьте следующий код после страны:
Перезаписать [vendor/magento/module-checkout/view/frontend/web/template/billing-address/details.html]
<!-- ko text: currentBillingAddress().company --><!-- /ko -->