Giter Site home page Giter Site logo

sintraconsulting / pimcore-product-sync-plugin Goto Github PK

View Code? Open in Web Editor NEW
33.0 8.0 5.0 501 KB

Extensible Pimcore plugin that sync product to external platforms like magento, magento2, shopify

License: GNU General Public License v3.0

PHP 99.83% JavaScript 0.17%
pimcore pim magento2 shopify sync-product

pimcore-product-sync-plugin's Introduction

This project is an PIMCore bundle that enable product synchronization on your community edition. The plugin support multiple destination (Shopify,Magento2) and is fully extensible and customizable without write code.

PIMcore Product Syncronization Plugin

Pimcore plugin created to perform automatic objects synchronization from Pimcore to E-Commerce platforms such as "Magento 2" and "Shopify". This plugin is originally designed to be used for the Pimcore "Product" class, but it's almost immediate to extend it potentially for any Pimcore class. The plugin is implemented as a Pimcore Bundle. The following guide will help you to easily install the plugin in your Pimcore environment. For further details and tips check the Project Wiki

How to Install SintraPimcoreBundle

Once you have Installed Pimcore, add the following dependencies to yours Pimcore composer.json file

"require": {
     "...": "...",
     "phpclassic/php-shopify": "^1.0.2",
     "springimport/swagger-magento2-client": "*@dev"
},

In order to properly install the SintraPimcoreBundle, follow these steps. The execution order is crucial to get a correct installation.

  1. Clone the repository in the src/SintraPimcoreBundle directory in your Pimcore installation

  2. Enable and Install the SintraPimcoreBundle by the Pimcore Extensions Manager. You can achieve this point directly on Pimcore interface selecting: Tools -> Extensions


Now that you have installed the SintraPimcoreBundle, you are free to customize the "Product" class as you like. Keep in mind that the "sku" field is required by some bundle's functionalities in order to identify a product using a unique key.

Once you have structured your class, you can Configure a TargetServer for Objects Synchronization.

Check how to Create a New Bundle and How to Customize SintraPimcoreBundle.

NEW FEATURE!!! Export Products Catalogue

We provide an export service that allow you to get a complete json representation of your products catalogue.
This service has been created as a function inside a Pimcore Controller; you can find the export signature in the export_signature.json file.

Request Input Parameters

The service can be invoked through the route /sintra_pimcore/api/export.
The service is paginated, and the following input parameters are managed:

  • timestamp: it only takes those products that have been modified after the given timestamp
  • offset: the number of skipped products (default is 0)
  • limit: the size of the export (default is 100)
  • exportAll: if 1, export the whole catalogue (ignore offset and limit)
  • writeInFile: if 1, the response will be write in a physical json file

Output Response

As already thought, the export will produce a physical json file.
There will be also a service response that help developers to manage future calls for the service. Response parameters are:

  • timestamp: the input timestamp parameter (if given)
  • offset: the input offset parameter (or the default one)
  • limit: the input limit parameter (or the default one)
  • productsNumber: the number of exported products
  • nextPageExists: tells if another page can be exported (with respect to offset and limit)
  • filename: if in writeInFile mode, is the name of the physical file that contains the exported products
  • data: if not in the writeInFile mode, it contains the exported products data

NOTES

Not Managed Field Types (2019-05-13)

Almost all types of Pimcore field are managed in this export service. The following types are the only ones that are not supported:

  • Password
  • Reverse Many-To-Many Object Relation
  • Encrypted Field
  • Calculated Value

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.