我正在尝试找到一种复制价格块的方法,以便它通过使用设计选项卡中的布局更新XML 字段显示在特定产品的产品页面的两个位置。产品编辑页面(Magento Admin)。
我已成功通过为特定产品创建修改后的布局XML文件来复制价格块,例如:
theme_folder\Magento_Catalog\layout\catalog_product_view_id_178.xml
在此文件中,我在所需位置添加了以下内容:
<block class="Magento\Catalog\Pricing\Render" name="product.price.final.second.location" after="product.info.options.wrapper">
<arguments>
<argument name="price_render" xsi:type="string">product.price.render.default</argument>
<argument name="price_type_code" xsi:type="string">final_price</argument>
<argument name="zone" xsi:type="string">item_view</argument>
</arguments>
</block>
然而,有太多的产品使用这种修改过的布局,如果我只使用布局更新XML 字段并输入一个简单的指令就可以实现同样的目的,那么管理产品目录会更容易像:
<copy element="product.price.final" destination="second.price.container">
除了没有 copy 指令外,只有 move 指令不是我想要的。
另一种解决方案是从产品编辑页面中选择要使用的布局XML,例如是/否属性。
有没有办法实现这个结果?
答案 0 :(得分:0)
我找到了解决方案。插入布局更新XML 字段的以下XML将价格块复制到referenceBlock(或referenceContainer):
<referenceBlock name="my.reference.block">
<block class="Magento\Catalog\Pricing\Render" name="product.price.final.lower">
<arguments>
<argument name="price_render" xsi:type="string">product.price.render.default</argument>
<argument name="price_type_code" xsi:type="string">final_price</argument>
<argument name="zone" xsi:type="string">item_view</argument>
</arguments>
</block>
</referenceBlock>