Skip to content
/ logistic Public

Import / export for Magento 2 using FireGento_FastSimpleImport2

Notifications You must be signed in to change notification settings

PH2M/logistic

Folders and files

NameName
Last commit message
Last commit date
Feb 2, 2018
Feb 2, 2018
Sep 26, 2022
Feb 2, 2018
Feb 2, 2018
Feb 2, 2018
Jan 24, 2019
Dec 14, 2017
Feb 2, 2018
Nov 29, 2017
Jan 24, 2019
Dec 8, 2023
Feb 2, 2018

Repository files navigation

PH2M_Logistic

Manage your imports / exports.

Requirements

Magento >= 2.1.0

Installation

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

Console commands

You can launch the imports by typing the following commands:

# Products import
bin/magento logistic:import:products

# Stocks import
bin/magento logistic:import:stocks

Launch tests

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

To do list

  • Complete unit tests
  • Add WS connection type

Add another import

The following steps are for a new import class but they are the same for an export one. Just use export class/folders instead.

  • Create a class which extends the PH2M\Logistic\Model\Import\AbstractImport class
  • In this class, add a code variable
  • Add in your system.xml these configurations (replace <code> by your code variable value):
    • <code>_enable: a select with a Magento\Config\Model\Config\Source\Yesno source model
    • <code>_path: a text field
    • <code>_file_pattern: a text field
    • <code>_archive_path: a text field
  • If necessary, override the columnsToIgnore variable to ignore some columns
  • If necessary, override the columnsToRename variable to rename some header columns to real product attributes codes:
    /**
     * @var array
     */
    protected $columnsToRename = [
        'columnFromFile' => 'newColumnName'
    ]; 
    
  • If necessary, override the columnsFixedValue variable to add some fixed values (attribute set if it's not defined in your CSV file for example)

Add a custom object import

If you want to import a custom object (stores from a store locator for example), override the _launchImporter method in your import class. This method should return an array which has a success and a message (in case of error) value.

Add another export

  • Create a class which extends the PH2M\Logistic\Model\Export\AbstractExport\ class
  • In this class, add a code variable
  • If you don't want to create a file for each exported object, set the createAFileForEachObject variable to false
  • Override _getFileName function to set the export file name
  • Override _initObjectsToExport function to return the objects to export
  • Add in your system.xml these configurations (replace <code> by your code variable value):
    • <code>_enable: a select with a Magento\Config\Model\Config\Source\Yesno source model
    • <code>_path: a text field
  • XML files are not supported at the moment, if you want to export as XML you have to override the _exportObjects function and send an empty header to _createAndSendFile

Local import

Local import must be placed in /var directory. You can next setup your import and archive paths like in the distant imports.

Licence

GNU General Public License, version 3 (GPLv3)

Troubleshooting

This file does not contain any data.

I have seen this issue because I was trying to import a product attribute which had a code in camel case, ie MyAttribute. Replace it by my_attribute. It can also happen if your data has a bad format, ie you're trying to import an array as value.

Special thanks

Special thanks to Firegento and all contributors to the FastSimpleImport extension!