1-customer_address에 eav 속성을 추가합니다
$attributesInfo = [
'reference' => [
'label' => 'Reference',
'type' => 'varchar',
'input' => 'text',
'position' => 100,
'visible' => true,
'required' => false,
],
];
foreach ($attributesInfo as $attributeCode => $attributeParams) {
$customerSetup->addAttribute('customer_address', $attributeCode, $attributeParams);
}
2-모듈에 확장 속성을 추가했습니다
<extension_attributes for="Magento\Quote\Api\Data\AddressInterface">
<attribute code="reference" type="string"/>
</extension_attributes>
requirejs-config.js에서 일부 자바 스크립트 파일을 재정 의하여 참조 필드를 추가합니다.
var config = {
"map": {
"*": {
"Magento_Checkout/js/model/shipping-save-processor/default" : "Agr_Checkout/js/shipping-save-processor-default-override",
"Magento_Customer/js/model/customer/address" : "Agr_Checkout/js/model/customer/address",
"Magento_Checkout/js/model/address-converter" : "Agr_Checkout/js/model/address-converter",
"Magento_Checkout/js/model/new-customer-address" : "Agr_Checkout/js/model/new-customer-address"
}
}
3-참조 필드가 주소로 전송되고 있음을 확인합니다
4-배송 정보를 보내면 (다음 클릭)이 오류가 발생합니다. "속성"참조 "에"Magento \ Quote \ Api \ Data \ AddressInterface "클래스에 해당 설정자가 없습니다."
이미 수행 한 작업 :-magento 캐시 정리 및 플러시-설정 실행 : 업그레이드-설정 실행 : di : 컴파일
내가 뭘 잘못하고 있니?
아래 답변이 효과가 있었습니까?
—
Stevie G
하드 SQL 삽입으로 해결하고 address_id와의 업데이트 de 참조를위한 스크립트를 실행했는데 잘못 알고 있지만 조금 서두르고 나중에 테스트하고 피드백을 줄 것입니다.
—
allamgr 2012 년
나는 당신이 비난받을 수 있다고 생각하지 않습니다 ... 분명히 Enterprise에서만 custom_attributes를 추가 할 수 있으며 지금 까지이 문제를 해결하기위한 "쉽게 사용자 정의 가능한 체크 아웃"을 찾지 못했습니다.
—
LM_Fielding 2016 년
관련 업데이트가 있습니까?
—
Magento2 Devloper
@allamgr 나는 또한 새로운 고객 주소 속성과 동일한 문제에 직면하고 있습니다. 이것에 대한 당신의 생각을 나에게 알려줄 수 있습니까? prnt.sc/iovkp2
—
나가라 주 K