Giter VIP home page Giter VIP logo

magento2-pimcore-bridge's Introduction

READ ME:

Magento 2 - Pimcore Integration Module

This module is a part (1/2) of the Pimcore - Magento connector. It allows for integration between Magento 2 and Pimcore, including:

  • managing your Magento product information in Pimcore.
  • enriching product information by creating new attributes to suit your needs or by using existing ones.
  • publishing product information in Pimcore and exporting it to Magento with one click.
  • creating categories, building them in a tree and exporting them easily to Magento.
  • building up your media gallery, assigning assets and publishing it.

The second part of this module (Magento 2 - Pimcore Integration Module) is available at DivanteLtd/pimcore-magento2-bridge.

Table of Contents

Big Picture

big_picture

Compatibility

This module is compatible with Magento 2.2.x and 2.3.x

Installing/Getting started

  • copy files to <root>/app/code/Divante/PimcoreIntegration
  • php bin/magento setup:upgrade
  • php bin/magento module:enable Divante_PimcoreIntegration
  • configure the module in the Magento admin panel

Features

The module introduces a broad integration of basic entities available in Magento.

Product Integration

The following types of products are supported:

  • simple product
  • configurable product

Attributes Integration

The following types of attributes are supported:

  • boolean (yes/no)
  • text
  • textarea
  • select
  • multiselect
  • wysiwyg
  • object

Object is a special type of attribute that emits an event which allows us to implement any complex attribute type via third party services.

Categories integration

Import of categories from Pimcore, perhaps structured in a tree.

Assets integration

Keep your media gallery in Pimcore, assign them to a category or product, and publish.

Dynamic creation of attribute sets

The module detects if attributes on a product belong to an existing attribute set and possibly create a new one.

Multi Store support

The module supports multi store, therefore any entity can be updated only in a predefined store.

Translations

All data can be easily translated - including attributes' labels and options.

Unused options and attribute sets collector

Whenever the module detects that some options or attribute sets are not used, it will remove them to prevent storing unnecessary data in a database.

Configuration

The module configuration is available in the Magento Admin Panel. Go to Stores->Configuration->Pimcore Magento Bridge and then configure the following elements:

Basic configuration

config1

  • enable pimcore-magento bridge integration - enable/disable the module's functionality
    • yes
    • no
  • logger handler
    • stream
    • graylog (unavailable yet)
  • outdated queues - enables removal of old entries on queue stack

Pimcore Integration

config2

  • Pimcore Api Key - API key of integration configured in Pimcore
  • Pimcore Endpoint - Pimcore API endpoint [domain]/webservice/rest IMPORTANT! "webservice/rest" is a mandatory part
  • Instance Url - instance URL of Magento which serves as communication identifier. In most cases, it is the same as the current instance's base URL.
  • Category Queue Processor Limit - limit of how many category queue entities should be processed in one batch action.
  • Products Queue Processor Limit - limit of how many product queue entities should be processed in one batch action.
  • Assets Queue Processor Limit - limit of how many asset queue entities should be processed in one batch action.

Cron Settings

config3

  • Remove Unused Attribute Sets - removes attribute sets that are not used by any product
  • Remove Unused Attribute Options - removes options that are not used by any select/multiselect attribute type
  • Enable Products - enables products which have at least one image, stock and price set.
Products

More types of products must be covered in integration, therefore we are aiming to implement bundle and grouped product types.

Tests
  1. Refactorization of unit/integration test - some tests are broken at the moment due to regression and must be updated.
  2. Write integration tests to cover the most important scenarios

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Licensing

The code in this project is licensed under the MIT license.

Standards & Code Quality

This module respects all Magento2 code quality rules and our own PHPCS and PHPMD rulesets.

About the Author

This module has been created by Divante eCommerce Software House.

Divante-logo

Divante is an expert in providing top-notch eCommerce solutions and products for both B2B and B2C segments. Our core competencies are built around Magento, Pimcore and bespoke software projects (we love Symfony3, Node.js, Angular, React, Vue.js). We specialize in sophisticated integration projects trying to connect hardcore IT with good product design and UX.

We work with industry leaders, like T-Mobile, Continental, and 3M, who perceive technology as their key component to success. In Divante we trust in cooperation, that's why we contribute to open source products and create our own products like Open Loyalty and VueStorefront.

Divante is part of the OEX Group which is listed on the Warsaw Stock Exchange. Our annual revenue has been growing at a minimum of about 30% year on year.

For more information, please visit Divante.co.

magento2-pimcore-bridge's People

Contributors

bartoszherba avatar bramstroker avatar edwinljacobs avatar gdvisser avatar maciejtrybula avatar tom-aniol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magento2-pimcore-bridge's Issues

Attributes are not creating in magento

I am using magento commerce 2.3.3, getting error StreamLogger.CRITICAL: An attribute code must not be less than 1 and more than 200 characters. I increased the size but the attribute name size is less than 20 only.

if the new checksum is coming from pimcore, it creating an attribute set but it's unable to create an attribute for an attribute-set so it set 500 in DB and throws "StreamLogger.CRITICAL: An attribute code must not be less than 1 and more than 200 characters". if the checksum is same, its saves the value in that attribute-set but in that also it's not checking the attribute.

Please help me in this...

Price Sync issue

I have multi store & mutli currency in Magento and same the Price attribute is in Localized field in Pimcore. But, when I am updating the existing product it gives the Error.

An error occurred while insert/update product "3133": Tier prices data should be array, but actually other type is received

Someone, please assit me to solve this issue.

Thanks,

Grouped products

Hi

Is there a way to save grouped products from Pimcore to Magento?
or that feature is not available

Regards

Extension installation issue with Magento-CE-2.1.16

I have tried to install "magento2-pimcore-bridge" using composer but composer package is not available @https://packagist.org/. When that will be available?

Second option, i tried to install it by downloading code and copying it to Magento-CE-2.1.16 setup and followed the provided instructions after executing "php bin/magento setup:upgrade" - its' throwing

console

How can i upgrade it, I have also checked without copying "Magento 2 module for Pimcore integration" and Magento upgrade went fine.

Second time while i ran it again by installing "Pimcore integration" module it's started throwing following....

"a:4:{i:0;s:303:"Please upgrade your database: Run "bin/magento setup:upgrade" from the Magento root directory.
The following modules are outdated:
Divante_PimcoreIntegration schema: current version - none, required version - 1.0.4.13
Divante_PimcoreIntegration data: current version - none, required version - 1.0.4.13";i:1;s:2381:"#0 /var/www/magetwo/vendor/magento/f$
#1 /var/www/magetwo/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext($
#2 /var/www/magetwo/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\Interception\C$
#3 /var/www/magetwo/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\App\FrontController\VarnishPlug$
#4 /var/www/magetwo/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext$
#5 /var/www/magetwo/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73): Magento\Framework\App\FrontContr$
#6 /var/www/magetwo/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\App\FrontController\BuiltinPlu$
#7 /var/www/magetwo/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\In$
#8 /var/www/magetwo/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Mag$
#9 /var/www/magetwo/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#10 /var/www/magetwo/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#11 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";}

And when i am running "bin/magento setup:upgrade" - it's throwing the same error again and again. I stuck with blocker kind of situation.

Unable to update price in Magento product

For our clients we advice to manage the product prices in Pimcore, but once a product is created in Magento the price isn't update anymore because of this part in the PriceModifier.php.

Is this a bug or is there a reason why the PriceModifier is doing this?

Errors working with develop and magento 2.4.2-p1

I am trying to work with the develop branch here and the develop-v2 branch on the pimcore side. Per the readme, I copied the files in the repo to /app/code/Divante/PimcoreIntegration. Once that is done, if I try to run setup:di:compile I get the following error:

Compilation was started. Interception cache generation... 6/9 [==================>---------] 66% 17 secs 414.0 MiBErrors during compilation: Divante\PimcoreIntegration\Model\CategoryRepository Missed required argument populateWithValues in parent::__construct call. File: /var/www/html/app/code/Divante/PimcoreIntegration/Model/CategoryRepository.php

Also I get this error in bridge_critical.log after running bin/magento divante:queue-category:process with some categories in the queue:

StreamLogger.CRITICAL: Type Error occurred when creating object: Divante\PimcoreIntegration\Model\CategoryRepository\Interceptor, Too few arguments to function Magento\Catalog\Model\CategoryRepository::__construct(), 3 passed in /var/www/html/app/code/Divante/PimcoreIntegration/Model/CategoryRepository.php on line 43 and exactly 4 expected [] []

I don't know for sure that these are related, I just noted that they are referencing the same file and I think the same function call.

Stock update Magento 2.4.3-p1 problem

Hi, i m over magento ver. 2.4.3-p1 with divante module from "develop" branch and i have one problème with the update stock. I haven't any error in log file but the stock is never updated.

Have this probleme with simple and config. product and only if the qty is not 0.

Someone have an idea and will could help me ?

NB : Last question, This project is dead ?

Magento table prefix is not support

I am getting error while syncing the Products. I noticed that if I have prefix in Magento tables then the sync does not consider the Prefix and throws the below error.

Base table or view not found: 1146 Table '<db_name>.eav_attribute_label' doesn't exist, query was: SELECT eav_attribute_label.value, eav_attribute_label.store_idFROMeav_attribute_label WHERE (attribute_id = 285)
I noticed that the extension does not support the Magento Prefix table.

Pim core bridge not compatible with Magento Commerce

Pim core bridge not compatible with Magento Commerce

The PimCore bridge runs queries like "SELECT entity_id FROM catalog_product_entity_int where value=?"
The field entity_id does not exist, In Magento Commerce its row_id instead of entity_id

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.