More in Learn

Magento Catalogue Import Script

A generic Magento to Crystallize import script aiming to assist with importing the Magento catalogue in a cleaner and faster structure.

As the Magento product catalogue expands, it also becomes more complex, making even simple actions like associating a product to multiple categories difficult to maintain. Same goes with an integration to another system, or migrating from it.

Set up the Configuration

The import script requires a number of environment variables to set up before running, like your Magento integration and Crystallize keys. These can be passed as arguments when running the script or be setup in the lib/config.js file.

Two import modes

Since importing a catalogue might be a very time consuming process, we have set up a single SKU import script command. This gives you the ability to test things like, creating a product shape that fits your information architecture, and start building bottom to top.

Import a single product by running:

SKU=*your_sku* yarn run single

Import the entire catalogue by running:

yarn run import

Shape it to your needs

From SKUs to content, every case can vary in structure and logic and you can tweak the script to fit these needs.
The core logic of the script is focused around:

  • lib/helpers/map-product.js
  • lib/helpers/map-folder.js
  • lib/crystallize/mutations
  • lib/crystallize/index.js

Clean information Architecture

The import script follows Crystallize’s modern topic-based approach. Multiple categories can be associated to products by creating them as topics. Starting from top to bottom, the script will create a tree topic-structure and tag products with topics based on naming.

These can be specified as arguments in index.js file. The script behaviour can be altered in these files:

  • lib/helpers/category-filter
  • lib/crystallize/index.js (createTopics)

* Notice that by default the topics generated by the categories passed as arguments will not be included in the catalogue structure.

Video: Magento Import with Crystallize

People showing thumbs up

Need further help?

Join and ask our
slack community.

Join our slack community