Giter Site home page Giter Site logo

justbetter / magento2-akeneo-bundle Goto Github PK

View Code? Open in Web Editor NEW
26.0 9.0 8.0 133 KB

Magento2 bundle for extending the Akeneo connector with awesome features.

License: GNU General Public License v3.0

PHP 94.48% HTML 4.43% Less 1.09%
magento2-module magento2 akeneo-connector

magento2-akeneo-bundle's Introduction

Magento2 Akeneo Bundle

This Magento2 extension made by JustBetter extends the official Akeneo Connector with several features and optimizations.

These features can be enabled / disabled via an extra configuration section called JustBetter Akeneo that is added to the default Akeneo Connector Configuration in Magento.

Features

Feature Description
Important Attributes Select attributes that should always be added to the product tables even if all are empty, this fixes cases where you bulk empty attributes and it is not reflected in Magento.
Tier Prices Maps specific Akeneo attribute code with a Magento Customer group. This ensures that the tier prices from Akeneo are imported into Magento customer tier prices
Set default value for required attributes Set a default value for required attributes if the value is missing
Category exist Skip inserting url paths when the category already exist
Akeneo Manager Manual adjustment of Akeneo codes vs magento entity id’s connector mapping. When enabled you can make adjustments of the values via the Menu option JUSTBETTER > Akeneo Manager
Insert New Products Disable the insertion of new products
Set Tax Class When you have multiple tax classes in Akeneo and you want to use them in Magento. Map Akeneo tax class codes to Magento tax class - See configuration
Set Required admin attribute When having multiple stores and channels, the main attribute for de admin channel isn't always set. This means adding an attribute with the default language to do this for you.
Set products active Enable all products from Akeneo
Enable Manage stock by default This sets the manage stock to value Yes for imported products by default
Set stock status Automatically sets the stock status of imported products to "In Stock" when backorder-able
Apply SEO friendly media name formatting Formats the Media name from "_" to "-"
Enable retrieving metric units Sets Akeneo's metric unit in the eav_attribute - See configuration
Channel for metric conversions What channel to use for metric conversions
Set families to not visible individually after importing Sets products in selected families to Not Visible Individually
Unset Website when empty Product Attribute Mapping When enabled this will unset the website from the product when a required attribute has no specific value. For example when the Name attribute in Akeneo is empty for the associated website
Slack Akeneo import notifications Setup Slack notifications of Akeneo imports
Import finished events Fires an event for every job that is fully finished

Installation

composer require justbetter/magento2-akeneo-bundle
bin/magento module:enable JustBetter_AkeneoBundle
bin/magento setup:upgrade && bin/magento cache:flush

Configuration

  • Enable and disable different Akeneo features. Go to Stores > Configuration > Catalog > Akeneo Connector > JustBetter Akeneo.
  • To map specific Akeneo attribute code with a Magento Customer group. Simply go to Stores > Configuration > Catalog > Akeneo Connector > Products > Customer Group Pricing
  • When you would like to use the Tax Class Mapping: map the Akeneo Attribute Option Codes to the Magento Tax Classes. Don't forget to define the Tax attribute within the Attribute configuration for this feature to work.

Import finished events

We added a total of 5 events:

akeneo_connector_import_finish_category
akeneo_connector_import_finish_family
akeneo_connector_import_finish_attribute
akeneo_connector_import_finish_option
akeneo_connector_import_finish_product

These events are fired before the cleanCache function which only runs at the end of the job execution. That way the cache will still be flushed after your hook.

Please keep in mind that the Akeneo Products Import is executed per family (since 102.1.1). So if you import products from multiple families the akeneo_connector_import_finish_product event will be called multiple times.

Metric Units

When enabled the default metric unit for metric attributes will be added to the unit field in the eav_attribute table. This can be overridden at a channel, currently we only support one channel for this which is configurable in the backend.

You can run this from the command line using bin/magento metric:import

It is also automatically run after the attribute import

Family - Not Visible Individually

If you need to set the visibility of all products that belong to certain families to Not Visible Individually you can select those families. After each import this will run and set products to not visible.

You can also run this from the command line using bin/magento akeneo:setfamilynotvisible

Ideas, bugs or suggestions?

It would be awesome if you can submit an issue if you encounter any problems or for kudos create a pull request.

About us

We are an innovative development agency from The Netherlands building awesome websites, webshops and web applications with Laravel and Magento2. Check out our website justbetter.nl and our open source projects.

License

GNU GENERAL PUBLIC LICENSE


JustBetter logo

magento2-akeneo-bundle's People

Contributors

fritsjustbetter avatar indykoning avatar joostwan avatar kevinmeijer97 avatar pimruiter avatar quintenbuis avatar rbnmulder avatar vincentbean 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magento2-akeneo-bundle's Issues

How to make it works?

Hello,

We are using your Magento2 Akeneo Bundle module in order to import per product tax classes and we cannot make it works. We have an Akeneo select attribute called "vat_type" with 4 options: standard, reduced, superreduced and no_vat. We configured your Tax Id Mapping assigning every option to one Magento's VAT option but it does not work. Also, we tried to map Akeneo's "vat_type" to Magento's "tax_class_id" without success. There is no documentation about how to use your module. Could you please tell us how to make it works? Thank you in advance.

Best regards,
Chris

Tier Price Unknown column 'cpetp.entity_id'

Hi,

Firstly thanks for creating this extension.

The default Akeneo Connector does not cater for Adobe Commerce with B2B features enabled: Products are created but due to them not being linked to the default shared catalogue they do not display on the front end.

We have a price attribute in Akeneo called Retail Price, code "Retail_Price". I have enabled the Tier price setting and configured Customer group pricing as follows:

Akeneo Price Attribute Code: Retail_Price-ZAR
Magento Customer Group: Default (General)

When I run the products job I get the following error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'cpetp.entity_id' in 'on clause', query was: DELETE cpetp FROM catalog_product_entity_tier_price AS cpetp INNER JOIN tmp_akeneo_connector_entities_product AS tacep ON cpetp.entity_id = tacep._entity_id

Not sure if this is relevant but even though I do have products manually linked to the Default Shared Catalogue I do not see any records in that table.

Hoping you can assist? Thanks in advance!

Stock Price Update

Do you think it would be possible to adapt this to update the stock qty and price in magento?

Stock Qty and Price values created in Akeneo for the different products and then imported into magento through this connector?

How the tier pricing working

I will that the module also has support for tier pricing. On the Akeneo side, how does it work with tiers? Do attributes need to be created for this? I had a quick look in the code but couldn't really figure it out in there.

How to make "Unset Website when empty Product Attribute Mapping" work

Hey there,

I'm trying to understand how I can get the function "Unset Website when empty Product Attribute Mapping" to work. I found it in the Akeneo Connector Products section but there it shows two input fields for "Akeneo" and "Adobe Commerce". We have an Akeneo Simple select attribute (scopable and localizable) which I entered in the Akeneo input field, ran the import but it did not unset the product from the websites where the attribute was empty (no selection made). I also entered the attribute in both input fields, but again it did nothing.

Has the feature certain constraints that are not mentioned anywhere? Does it for example only work for Text or Metric attributes? Or does it not work for localizable attributes? (in that case it would be tragic, since we map the different locales from one Akeneo channel "shop" to multiple Magento Websites based on the locale.

Thanks in advance for your help! I really appreciate it!
Christian

parse error with command

Just tried updating from 1.2 to 1.3.2 and the new one throws a parse error when trying to do anything from the cli

Parse error: syntax error, unexpected 'ImportMetricUnitsJob' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in .../vendor/justbetter/magento2-akeneo-bundle/Console/Command/ImportMetricUnits.php on line 12

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.