Magento2: Как добавить пользовательский блок на страницу продукта
Я хочу добавить свой пользовательский шаблон на страницу продукта точно так же, как $this->getChildHtml('custom_product_info')
.
Как и в magento1.9 для использования $this->getChildHtml('custom_product_info')
мы добавляем xml-формат, как показано ниже:
<catalog_product_view>
<reference name="product.info">
<block type="core/template" name="custom_product_info" template="custom.phtml"/>
</reference>
</catalog_product_view>
Что такое xml и процесс добавления пользовательского шаблона в Magento2.1?
1
Author: Vinaya Maheshwari, 2018-03-26
5 answers
Попробуйте это:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="product.info">
<block class="{Vendor}\{Module}\Block\Catalog\Product\View\{Class}" name="{your.block.name}" template="{Vendor}_{Module}::{template_name}.phtml">
<!-- If you have any arguments to pass -->
<arguments>
<argument translate="true" name="{argument_name}" xsi:type="string">{Your argument}</argument>
</arguments>
</block>
</referenceBlock>
</body>
</page>
2
Author: hungersoft, 2018-03-26 06:22:33
Если вы хотите добавить этот пользовательский блок с помощью пользовательского модуля,
Затем создайте catalog_product_view.xml
в app/code/{Vendorname}/{moduleName}/view/frontend/layout
,.
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="product.info">
<block class="{Vendor}\{Module}\Block\{BLOCK_CLASSS}" name="{block.name.inlayout}" as="{name_aliase_path}"
template="{Vendor}_{ModuleName}::{YourTemaplte}.phtml">
</block>
</referenceBlock>
</body>
</page>
Затем вы можете вызвать свой блок с помощью кода at в форме.phtml в
<?= $block->getChildHtml({name_aliase_path}) ?>
2
Author: Amit Bera, 2018-03-26 06:33:04
Используйте это
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="product.info">
<block class="Magento\Framework\View\Element\Template" name="block.name" as="block.alias"
template="{Vendor}_{ModuleName}::{YourTemaplte}.phtml">
</block>
</referenceBlock>
</body>
</page>
1
Author: Kishan Patadia, 2018-03-26 06:34:04
<referenceContainer name="product.info.main">
<block class="Magento\Framework\View\Element\Template" name="{argument_name}" template="template_name.phtml"/>
</referenceContainer>
0
Author: hweb87, 2018-03-26 07:19:39
<referenceContainer name="content">
<block class="Xcommerce\Category\Block\Overview" name="overview"
template="X2commerce_Category::custom.phtml">
</block>
</referenceContainer>
0
Author: Hitesh Balpande, 2019-01-04 12:17:39