Giter Club home page Giter Club logo

advancedcsvconnectorbundle's Introduction

Advanced CSV Connector - C&M

Advanced CSV Connector is an extension of classic Akeneo CSV Connector. It allows to customize columns mapping on import or export.

Made with 💙 by C&M

Versions

Bundle version Akeneo version
v6.0.* v6.0.*
v5.0.* v5.0.*
v1.8.* v4.0.*
v1.7.* v3.2.* (EE)
v1.6.* v3.1.* / v3.2.*
v1.5.* v3.1.* / v3.2.*
v1.4.* v2.3.*
v1.3.* v2.1.*

Optional

You can use php-lua package to update your values dynamically during import or export. For LUA scripts available functions and libraries have been limited for security reasons. You can use:

  • string
  • math
  • ipairs
  • load
  • next
  • pairs
  • rawequal
  • rawgetwget
  • rawlen
  • rawset
  • select
  • tonumber
  • tostring
  • type

This package is not a requirement. A classic PHP method can also be used.

Installation

Download the Bundle

Update your composer.json file to use our fork of Custom entity bundle in repositories node:

"repositories": [
        ...
        {
            "type": "vcs",
            "url": "https://github.com/ClickAndMortar/CustomEntityBundle"
        }
        ...
    ],

And add our bundle:

$ composer require "clickandmortar/advanced-csv-connector-bundle":"<version-wanted>.*"

Example for last version:

$ composer require "clickandmortar/advanced-csv-connector-bundle":"6.0.*"

Enable the Bundle

Enable the bundle by adding it to the list of registered bundles in the config/bundles.php file of your project:

<?php

return [
    // ...
    Pim\Bundle\CustomEntityBundle\PimCustomEntityBundle::class => ['all' => true],
    ClickAndMortar\AdvancedCsvConnectorBundle\ClickAndMortarAdvancedCsvConnectorBundle::class => ['all' => true]
];

Update your config/routes/routes.yml file:

pim_customentity:
        prefix: /reference-data
        resource: "@PimCustomEntityBundle/Resources/config/routing.yml"
        
candm_advanced_csv_connector:
    prefix: /candm-advanced-csv-connector
    resource: "@ClickAndMortarAdvancedCsvConnectorBundle/Resources/config/routing.yml"

And finally clear cache and update database:

rm -rf var/cache/*
php bin/console --env=prod pim:installer:assets --symlink --clean
yarn run webpack
php bin/console doctrine:schema:update --force

Usage

Import

To create a new import mapping, go to Référenciel / Mappings d'import and click on Create top right button. You can add as many mapping lines as you want by clicking on Ajouter une ligne.

Some explanations for table columns:

  • Attribut (mandatory): Attribute code in your Akeneo project (you can use suffixes like -fr_FR or -EUR for locales, channels, currencies, ...)
  • Nom de la colonne (mandatory): Column name in your file to import
  • Transformation: LUA script name or PHP method name to update value after mapping. Example: Uppercase, lowercase, ... (you can create a new LUA script under Référenciel / Scripts LUA).
  • Valeur par défaut: Default value for attribute if empty data in file
  • Identifiant (mandatory): Used to defined main identifier attribute of product
  • Uniquement à la création: Set attribute value only if product is new (checked with identifier attribute)
  • Effacer si null: Remove key from item mapping if value is null
  • Supprimer: Click on this cell to delete mapping line

Once mapping is saved, go to Imports part and create a new job with type Import des produits avancé (CSV). After job creation, go to edition mode and update Mapping parameter in global parameters tab.

Export

To create a new export mapping, go to Référenciel / Mappings d'export and click on Create top right button. You can add as many mapping lines as you want by clicking on Ajouter une ligne.

Some explanations for table columns:

  • Attribut (mandatory): Attribute code in your Akeneo project (you can use suffixes like -fr_FR or -EUR for locales, channels, currencies, ...)
  • Nom de la colonne (mandatory): Column name in your file to export
  • Valeur forcée: Force a value (erase given attribute value from Akeneo)
  • Transformation: LUA script name or PHP method name to update value after mapping. Example: Uppercase, lowercase, ... (you can create a new LUA script under Référenciel / Scripts LUA)
  • Utiliser le libellé: Boolean to get the label associated to the code given (for attribute options or custom entities)
  • Langue: Select a specific locale for the label to export (linked to Utiliser le libellé column)
  • Longueur max.: Integer use to shorten attribute value if necessary
  • Valeur par défaut: Default value for column if empty attribute value
  • Supprimer: Click on this cell to delete mapping line

Once mapping is saved, go to Exports part and create a new job with type Export des produits avancé (CSV). After job creation, go to edition mode and update Mapping parameter in global parameters tab.

advancedcsvconnectorbundle's People

Contributors

simoncarre avatar aloupfor avatar matthieu972 avatar michael-bouvy avatar pierre-marchand avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.