创建新的产品类型Magento 2是运行Magento 2平台时可实现的操作。默认情况下,您可以设置五种类型的产品:简单产品,可配置产品,捆绑产品,虚拟产品和可下载产品。但是,在某些情况下,您可能对可用类型不满意,并且您的产品不适合这些产品类型。以帮助您根据需要添加新产品。请逐一遵循所有步骤。
在Magento 2中创建新产品类型的概述
- 第1步:生成registration.php文件
- 第2步:添加代码NewProductType模型
- 第3步:添加Price模型
- 第4步:发布新的Magento 2产品类型
第1步:生成注册文件
- 设置
app\code\Mageplaza\HelloWorld\registration.php
文件
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Mageplaza_HelloWorld',
__DIR__
);
- 生成
app\code\Mageplaza\HelloWorld\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="Mageplaza_HelloWorld" setup_version="1.0.0">
</module>
</config>
- 接下来,必须创建
etc/product_types.xml
文件以确定新产品类型的模型。
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Catalog:etc/product_types.xsd">
<type name="new_product_type" label="New Product Type" modelInstance="Mageplaza\HelloWorld\Model\Product\Type\NewProductType" indexPriority="60" sortOrder="80" isQty="true">
<priceModel instance="Mageplaza\HelloWorld\Model\Product\Price" />
</type>
</config>
特别,
- 名称:您需要为新产品类型设置的名称
- 标签:Magento后端可见的标签
- 模型实例:认可产品类型的属性
- 价格模型:支持新产品类型的收费
第2步:添加代码NewProductType模型
- 输入以下代码:
Mageplaza\HelloWorld\Model\Product\Type\NewProductType model
,应该基于Magento\Catalog\Model\Product\Type\AbstractType
。
<?php
namespace Mageplaza\HelloWorld\Model\Product\Type;
class NewProductType extends \Magento\Catalog\Model\Product\Type\AbstractType {
}
- 之后,可以重写一些函数并实现您想要的一些更改。
第3步:添加Price模型
- 输入
Mageplaza\HelloWorld\Model\Product\Price model
,应该基于Magento\Catalog\Model\Product\Type\Price
。
<?php
namespace Mageplaza\HelloWorld\Model\Product;
class Price extends \Magento\Catalog\Model\Product\Type\Price
{
}
- 此外,您还可以在扩展
Magento\Catalog\Model\Product\Type\Price
课程后将新产品类型设置为具有一些自定义功能的多功能类型
第4步:发布新的Magento 2产品类型
这是允许您在完成上述步骤时在Magento 2管理员中检查结果的步骤。新产品类型将显示为旧类型(简单或可配置产品)。