คุณจะห่อองค์ประกอบของฟอร์มการชำระเงินสองส่วนไว้ใน div ได้อย่างไร
ตัวอย่างเช่นสมมติว่าฉันต้องการห่อเขตข้อมูลประเทศและไปรษณีย์ / รหัสไปรษณีย์ใน div ด้วยคลาสของexample-class
ฉันจะทำสิ่งนี้ได้อย่างไร
สิ่งที่ฉันได้ลอง
ฉันพยายามที่จะบรรลุสิ่งนี้โดยการเพิ่มพวกเขาเป็นลูก ๆ ของ<item name="shippingAddress" xsi:type="array">
แต่นั่นก็ทำให้เกิดข้อผิดพลาดในส่วนหน้า แม้ว่าฉันจะได้รับการป้อนข้อความเปล่าโดยไม่มีป้ายกำกับภายใน.example-class
มีข้อผิดพลาดในส่วนหน้า
ข้อผิดพลาด: Cannot read property 'indexedOptions' of undefined
นี่คือความพยายามอย่างรวดเร็วของฉัน:
Magento_Checkout / เว็บ / แม่แบบ / การจัดส่งสินค้าที่อยู่ / form.html
<div id="shipping-new-address-form" class="fieldset address">
<div class="testing">
<!-- ko foreach: getRegion('example-class') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<!-- ko foreach: getRegion('additional-fieldsets') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
checkout_index_index.xml
<item name="example-for-adding-class" xsi:type="array">
<item name="component" xsi:type="string">uiComponent</item>
<item name="config" xsi:type="array">
<item name="deps" xsi:type="array">
<item name="0" xsi:type="string">checkoutProvider</item>
</item>
</item>
<item name="displayArea" xsi:type="string">example-class</item>
<item name="children" xsi:type="array">
<!-- The following items override configuration of corresponding address attributes -->
<item name="region" xsi:type="array">
<!-- Make region attribute invisible on frontend. Corresponding input element is created by region_id field -->
<item name="visible" xsi:type="boolean">false</item>
</item>
<item name="region_id" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/form/element/region</item>
<item name="config" xsi:type="array">
<item name="template" xsi:type="string">ui/form/field</item>
<item name="elementTmpl" xsi:type="string">ui/form/element/select</item>
<item name="customEntry" xsi:type="string">shippingAddress.region</item>
</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
<!-- Value of region_id field is filtered by the value of county_id attribute -->
<item name="filterBy" xsi:type="array">
<item name="target" xsi:type="string"><![CDATA[${ $.provider }:${ $.parentScope }.country_id]]></item>
<item name="field" xsi:type="string">country_id</item>
</item>
</item>
<item name="postcode" xsi:type="array">
<!-- post-code field has custom UI component -->
<item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item>
<item name="sortOrder" xsi:type="string">2</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="string">true</item>
</item>
</item>
<item name="country_id" xsi:type="array">
<item name="sortOrder" xsi:type="string">1</item>
</item>
</item>
</item>
จะต้องมีวิธีที่ง่ายกว่าในการทำสิ่งนี้ไม่ว่าฉันจะทำบางสิ่งบางอย่างขาดหายไปหรือนี่คือคำจำกัดความของวิศวกรรมที่มากเกินไป การเพิ่มตัวหารสององค์ประกอบไม่น่าจะเป็นเรื่องยาก