Magento 2 中定义 options_container 模板的位置
Where are defined options_container template in Magento 2
我的 form.phtml
中有此代码
/**
* Product view template
*
* @var $block \Magento\Catalog\Block\Product\View
*/
<?php if ($_product->isSaleable() && $block->hasOptions() && $block->getOptionsContainer() == 'container2'): ?>
<?php echo $block->getChildChildHtml('options_container'); ?>
<?php endif;?>
布局如下catalog_product_view
<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="MM_Catalog::css/magnific-popup.css"/>
</head>
<body>
<referenceContainer name="content">
<referenceBlock name="product.info">
<action method="setTemplate">
<argument name="template" xsi:type="string">MM_Catalog::product/view/form.phtml</argument>
</action>
</referenceBlock>
</referenceContainer>
</body>
</page>
这可行,但我需要将更多字段添加到打印的字段集中。但是我不知道应该在哪里以及如何指定打印到字段集中的这些字段。
感谢您的帮助
查看默认布局文件catalog_product_view.xml你会发现
"options_container" 包含另一个名为 "product_options_wrapper" 的辅助块,其中包含以下模板
Magento_Catalog::product/view/options/wrapper.phtml
您可以通过在自定义模块中覆盖它来在此处添加更多字段。
"product_options_wrapper" 包含另一个辅助块"product_options",它负责选项的渲染。
因此,如果您想根据选项添加更多字段,您可以在此处为每个选项找到相应的模板,例如文本输入
Magento_Catalog::product/view/options/type/text.phtml
您可以通过在您的自定义模块中覆盖它来在此模板中添加字段。
我的 form.phtml
中有此代码/**
* Product view template
*
* @var $block \Magento\Catalog\Block\Product\View
*/
<?php if ($_product->isSaleable() && $block->hasOptions() && $block->getOptionsContainer() == 'container2'): ?>
<?php echo $block->getChildChildHtml('options_container'); ?>
<?php endif;?>
布局如下catalog_product_view
<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="MM_Catalog::css/magnific-popup.css"/>
</head>
<body>
<referenceContainer name="content">
<referenceBlock name="product.info">
<action method="setTemplate">
<argument name="template" xsi:type="string">MM_Catalog::product/view/form.phtml</argument>
</action>
</referenceBlock>
</referenceContainer>
</body>
</page>
这可行,但我需要将更多字段添加到打印的字段集中。但是我不知道应该在哪里以及如何指定打印到字段集中的这些字段。
感谢您的帮助
查看默认布局文件catalog_product_view.xml你会发现
"options_container" 包含另一个名为 "product_options_wrapper" 的辅助块,其中包含以下模板
Magento_Catalog::product/view/options/wrapper.phtml
您可以通过在自定义模块中覆盖它来在此处添加更多字段。
"product_options_wrapper" 包含另一个辅助块"product_options",它负责选项的渲染。
因此,如果您想根据选项添加更多字段,您可以在此处为每个选项找到相应的模板,例如文本输入
Magento_Catalog::product/view/options/type/text.phtml
您可以通过在您的自定义模块中覆盖它来在此模板中添加字段。