Magento 自定义模块实现批量导入产品信息 (一)

更新日期: 2025-05-05 阅读次数: 173 字数: 501 分类: magento

背景

通过 Magento Admin 后台手动批量导入 CSV 太慢(在产品比较多的情况下)。需要等待很长时间。

如果能够通过程序,自动化导入批量的 CSV 文件,那就能大大提升效率,减少繁琐的手动操作及等待时间。

而 Magento 又不支持导入的 RESTful API,也不支持命令行,所以只能使用其他的方案。

Magento 定制化模块

网上找到一个方案,看起来是比较靠谱的:

https://magento.stackexchange.com/questions/359280/import-product-data-programmatically-using-csv

里面推荐使用定制化模块。

什么是 Magento 定制化模块呢?

Magento 2 的定制化模块, 旨在为在线商店添加特定功能或特性。它允许开发人员扩展、定制或修改 Magento 的默认行为,而无需更改核心代码。定制化模块可以引入新的产品类型、支付网关、运输方式或其他功能,以满足独特的业务需求。

模块命名

Magento 定制化模块的命名规则是:VendorName_ModuleName。

  • VendorName 是开发者的名字或公司名
  • ModuleName 是模块的名字。

例如:Sunzhongwei_ProductImport。

对应的,需要在 app/code 目录下创建一个名为 Sunzhongwei/ProductImport 的目录。默认安装下,app 目录下是没有 code 目录的,需要手动创建

# ls app/
autoload.php  bootstrap.php  design  etc

# mkdir -p code/Sunzhongwei/ProductImport

新建定时任务配置文件

在 app/code/Sunzhongwei/ProductImport 目录下新建一个名为 etc 的目录。

新建文件:

app/code/Sunzhongwei/ProductImport/etc/crontab.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
    <group id="default">
        <job name="import_products" instance="Sunzhongwei\ProductImport\Cron\ImportProducts" method="execute">
        <schedule>*/5 * * * *</schedule>
        </job>
    </group>
</config>

其作用是,每 5 分钟执行一次导入任务。

参考

  • https://www.mageplaza.com/devdocs/magento-2-module-development/
  • https://magento.stackexchange.com/questions/359280/import-product-data-programmatically-using-csv

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式