Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/sbboke.com/wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:409) in /www/wwwroot/sbboke.com/wp-content/themes/pacify/content-single.php on line 5

Magento 2中创建新的产品类型

创建新的产品类型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管理员中检查结果的步骤。新产品类型将显示为旧类型(简单或可配置产品)。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论