2017 © Pedro Peláez
 

magento2-module logistic

Manage imports/exports

image

ph2m/logistic

Manage imports/exports

  • Monday, March 19, 2018
  • by ph2m_vma
  • Repository
  • 3 Watchers
  • 4 Stars
  • 18 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 200 % Grown

The README.md

PH2M_Logistic

Manage your imports / exports., (*1)

Requirements

Magento >= 2.1.0, (*2)

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:, (*3)

# 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., (*4)

  • 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., (*5)

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., (*6)

Licence

GNU General Public License, version 3 (GPLv3), (*7)

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., (*8)

Special thanks

Special thanks to Firegento and all contributors to the FastSimpleImport extension!, (*9)

The Versions

19/03 2018

dev-master

9999999-dev https://github.com/PH2M/logistic

Manage imports/exports

  Sources   Download

GPL-3.0

The Requires

 

by PH2M

19/03 2018

1.0.0

1.0.0.0 https://github.com/PH2M/logistic

Manage imports/exports

  Sources   Download

GPL-3.0

The Requires

 

by PH2M