ph2m/

管理导入/导出

安装量: 5,511

依赖项: 0

建议者: 0

安全: 0

星星: 10

关注者: 4

分支: 2

开放问题: 3

类型:magento2-module

1.1.9 2024-06-27 09:52 UTC

README

管理您的导入/导出。

需求

Magento >= 2.1.0

安装

composer config repositories.firegento_extendedimport2 vcs https://github.com/firegento/FireGento_ExtendedImport2
composer require ph2m/logistic
bin/magento module:enable FireGento_FastSimpleImport FireGento_ExtendedImport PH2M_Logistic
bin/magento setup:upgrade

控制台命令

您可以通过输入以下命令来启动导入

# Products import
bin/magento logistic:import:products

# Stocks import
bin/magento logistic:import:stocks

启动测试

vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/ph2m/logistic

待办事项

  • 完成单元测试
  • 添加 WS 连接类型

添加另一个导入

以下步骤适用于新的导入类,但对于导出类也是相同的。只需使用导出类/文件夹即可。

  • 创建一个继承自 PH2M\Logistic\Model\Import\AbstractImport 类的类
  • 在这个类中,添加一个 code 变量
  • 在您的 system.xml 中添加以下配置(将 <code> 替换为您的 code 变量值)
    • <code>_enable: 一个具有 Magento\Config\Model\Config\Source\Yesno 源模型的选择
    • <code>_path: 一个文本字段
    • <code>_file_pattern: 一个文本字段
    • <code>_archive_path: 一个文本字段
  • 如果需要,覆盖 columnsToIgnore 变量以忽略某些列
  • 如果需要,覆盖 columnsToRename 变量以重命名一些标题列到实际的产品属性代码
    /**
     * @var array
     */
    protected $columnsToRename = [
        'columnFromFile' => 'newColumnName'
    ]; 
    
  • 如果需要,覆盖 columnsFixedValue 变量以添加一些固定值(例如,如果CSV文件中没有定义,则为属性集)

添加自定义对象导入

如果您想导入自定义对象(例如,来自商店定位器的商店),则覆盖导入类中的 _launchImporter 方法。该方法应返回一个数组,该数组包含一个 success 和一个 message(在出错的情况下)值。

添加另一个导出

  • 创建一个继承自 PH2M\Logistic\Model\Export\AbstractExport\ 类的类
  • 在这个类中,添加一个 code 变量
  • 如果您不想为每个导出的对象创建一个文件,将 createAFileForEachObject 变量设置为 false
  • 覆盖 _getFileName 函数以设置导出文件名
  • 覆盖 _initObjectsToExport 函数以返回要导出的对象
  • 在您的 system.xml 中添加以下配置(将 <code> 替换为您的 code 变量值)
    • <code>_enable: 一个具有 Magento\Config\Model\Config\Source\Yesno 源模型的选择
    • <code>_path: 一个文本字段
  • 目前不支持XML文件,如果您想以XML格式导出,则必须覆盖 _exportObjects 函数并向 _createAndSendFile 发送空标题

本地导入

本地导入必须放在 /var 目录中。然后,您可以设置导入和存档路径,就像远程导入一样。

许可证

GNU通用公共许可证,版本3(GPLv3)

故障排除

This file does not contain any data.

我遇到了这个问题,因为我尝试导入一个具有驼峰式编码的代码的产品属性,即 MyAttribute。请将其替换为 my_attribute。如果您的数据格式不正确,也可能发生这种情况,例如,您正在尝试将数组作为值导入。

特别感谢

特别感谢 Firegento 和所有为 FastSimpleImport 扩展 做出贡献的贡献者!