Magento2淘汰赛渲染特定孩子

Mar*_*daj 2 php magento knockout.js magento2 magento-2.0

我需要在magento2中进行的自定义结帐流程方面的帮助。我已经在文件magento / module-checkout / view / frontend / web / template / shipping-address / form.html(Magento 2.1.1)中找到了此代码。

<!-- ko foreach: getRegion('additional-fieldsets') -->
    <!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
Run Code Online (Sandbox Code Playgroud)

据我了解,这将在结帐时回显整个表单。诸如firstname,lastname之类的单个字段未在checkout_index_index.xml中定义,并且我不知道getTemplate()的含义。我认为这基本上意味着渲染所有子项,但它们不在xml中。我想对表单进行样式设置,例如,地址放在最上面,名字第二个等等。但是我也想做其他更改,所以问题是

如何从当前范围渲染特定子级?

我可以做类似的事情吗?

<!-- ko foreach: getRegion('additional-fieldsets.address') -->
    <!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->

<!-- ko foreach: getRegion('additional-fieldsets.firstname') -->
    <!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
Run Code Online (Sandbox Code Playgroud)

?谢谢。


另一个示例在文件/view/frontend/web/template/onepage.html中

<div class="opc-wrapper">
    <ol class="opc" id="checkoutSteps">
        <!-- ko foreach: getRegion('steps') -->
            <!-- ko template: getTemplate() --><!-- /ko -->
        <!--/ko-->
    </ol>
 </div>
Run Code Online (Sandbox Code Playgroud)

我想做的是这样的:

<div class="opc-wrapper">
    <ol class="opc" id="checkoutSteps">
        <li>
            <!-- ko foreach: getRegion('steps.column1') -->
                <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        </li>
        <li>
            <!-- ko foreach: getRegion('steps.column2') -->
                <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        </li>
        <li>
            <!-- ko foreach: getRegion('steps.column3') -->
                <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        </li>
    </ol>
</div>
Run Code Online (Sandbox Code Playgroud)

PS:我发现其他字段集不在项目name =“”中,而是在displayArea中。displayArea在这里是什么意思?

Vin*_*nai 5

要渲染特定的孩子,请使用

<!-- ko with: getChild('my-child') -->
    <!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
Run Code Online (Sandbox Code Playgroud)