资讯专栏INFORMATION COLUMN

基于模块的自定义商品开发研究

CKJOKER / 1068人阅读

摘要:目标自定义字段。能够对接自定义商品后续处理过程。参考模块博文状态持续编辑中简单教程通过模块开发自定义商品类型忽略部分,如何创建一个模块,并启用这个部分可以看我的其它博文。基本内容可以看到我整篇代码复制模块下面的,只自定义了一下这样就可以了。

目标:
1.  自定义字段。
2.  启用新商品类型简化商品属性。
3.  能够对接自定义商品后续处理过程。
参考:Magento_Downloadable 模块
博文状态:持续编辑中...
简单教程:通过模块开发自定义商品类型
忽略部分,如何创建一个模块,并启用(这个部分可以看我的其它博文)。

关键过程:

1. 创建 MODULE/etc/product_types.xml, 内容可参考Magento_Downloadable.
2. 在该XML文件中,需要指定“modelInstance” 这个是定制商品类型的“类型实例”(在Magento2.x系统中,商品服务、商品Model、商品内容类型Model都各不相同,商品的内容类型Model就是“类型实例”)。
3. modelInstance="YOURVENDORYOURMODULEModelProductType"基本内容:

可以看到我整篇代码复制Downloadable模块下面的,只自定义了一下namespace.这样就可以了。

4. 更新代码,更新Magento缓存,服务器命令行执行:

php -f Magento_ROOT/bin/magento setup:upgrade

5. 结果,这时你在后台添加商品时已经可以选择刚刚创建的商品类型。如下图:

完成,剩下的是自定义字段部分。

代码跟踪与研究过程



    
        
        
        
            
            
        
    
    
        
    

其中: modelInstance="MagentoDownloadableModelProductType" 这个是重点,Magento系统的模块结构有些混乱,架构和业务模块,至少在目录结构级别是混合的。
在商品类型定义这里,系统依然是直接对接 Magento_Catalog/Product, 进而由这个Model来对接自定义商品相关操作。

吐槽一下:Magento2.x 的Model体系使用有些混乱,兼顾数据模型、业务服务、甚至还包括一些模版渲染的工作。

下面是代码跟踪测试记录:

执行结果:

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 [2018-03-23 02:35:05]  MagentoCatalogModelProduct::getAttributes - 813 
 127.0.0.1 
----------
 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
string(39) "MagentoDownloadableModelProductType"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28446.html

相关文章

  • ESMap+Html5+SpringBoot+FastDFS实现导航导购App

    摘要:两者的结合通过中的组件以及依赖实现。在项目正式上线后会将本地服务器的内容打包成包发布到服务器中。数据库部分数据库使用关系型数据库管理系统,在其中建立了店铺,商品,商品类目三个表,通过其中的特定字段使两表关联,从而实现了简单的联表查询。 ESMap-Indoor-navigation ESMap+Html5+SpringBoot+FastDFS实现导航导购Appgithub链接:http...

    xietao3 评论0 收藏0
  • ESMap+Html5+SpringBoot+FastDFS实现导航导购App

    摘要:两者的结合通过中的组件以及依赖实现。在项目正式上线后会将本地服务器的内容打包成包发布到服务器中。数据库部分数据库使用关系型数据库管理系统,在其中建立了店铺,商品,商品类目三个表,通过其中的特定字段使两表关联,从而实现了简单的联表查询。 ESMap-Indoor-navigation ESMap+Html5+SpringBoot+FastDFS实现导航导购Appgithub链接:http...

    PiscesYE 评论0 收藏0

发表评论

0条评论

CKJOKER

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<