【问题标题】:Magento 2.0 Custom Module - Adding custom tab with new fields in Product FormMagento 2.0 自定义模块 - 在产品表单中添加带有新字段的自定义选项卡
【发布时间】:2016-04-11 09:02:18
【问题描述】:
按照本教程,我已成功创建了一个自定义选项卡,其中包含自定义字段:datasheat
但是,我需要在我自己的“模块”上实现。如果我将 catalog_product_new.xml 和 Tabs.php 移动到我自己的模块目录中,你们有谁知道如何实现它们?抱歉,这是我第一次发帖,我不确定是否应该将长代码复制粘贴到我的帖子中,但我会满足你的需要。
这是我第一次在 Magento 中编写 Opencart 代码,但不幸的是,我负责将 OC 插件移植到 Magento。
谢谢大家!!!!
【问题讨论】:
标签:
php
magento
tabs
magento-2.0
【解决方案1】:
命名空间名称:测试
模块名称: ProductTabs
- 首先转到 Magento 商店的管理面板,然后导航到商店 -> 产品。单击添加新属性并创建新属性。 (设置属性标签DEMO和属性代码演示)
- 现在转到商店 -> 属性集并添加属性集。
- 现在单击您的属性集并将未分配的属性(您在第一步中创建)拖动到产品详细信息,然后单击保存。
- 现在进入管理面板中的产品编辑页面,更改您在第一步和第二步中创建的属性名称和模板名称。
- 在 app/code/Test/ProductTabs/etc/module.xml 中粘贴此代码。
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Test_ProductTabs" setup_version="1.0.0"></module>
</config>
- 在 app/code/Test/ProductTabs/registration.php 中,粘贴此代码。
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Test_ProductTabs',
__DIR__
);
- 在 app/code/Test/ProductTabs/view/frontend/layout/catalog_product_view.xml 中,粘贴此代码。
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_config uration.xsd">
<body>
<referenceBlock name="product.info.details">
<block class="Magento\Catalog\Block\Product\View" name="demo.tab" template="Test_ProductTabs::custom_tab.phtml" group="detailed_info" >
<arguments>
<argument translate="true" name="title" xsi:type="string">Custom Tab</argument>
</arguments>
</block>
</referenceBlock>
</body>
</page>
- 现在在 app/code/Test/ProductTabs/view/frontend/templates/custom_tab.phtml 中,粘贴此代码。
<?php
$product = $block->getProduct();
?>
<h1 style="color: #00aeed"><?php echo $product->getData('demo'); ?></h1>
- 现在启动您的产品页面。