/akeneo-table-attribute-bundle

The Flagbit Table Attribute Bundle for Akeneo PIM gives you the possibility to enrich your product with multi-dimensional data presentation in the form of tables, allowing you maximum flexibility within the PIM.

Primary LanguageJavaScriptMIT LicenseMIT

Flagbit Table Attribute for Akeneo PIM

Adds the new attribute type Table for Akeneo products.

Key FeaturesInstallationCompatibilityDevelopmentContributing

Key Features

Provides a table as attribute type where you can define a set of columns of different types and validation rules.

Column Types

  • Text
  • Number (Integer or Decimal)
  • Simple select
  • Simple select from URL

Import/Export

The extension supports the standard Akeneo product import/export, so you don't need to create any special import/export profile for table information.

All product information related to attributes of type table will be imported/exported as JSON.

Installation

Simply install the package with the following command:

composer require flagbit/table-attribute-bundle

Enable the bundle

Enable the bundle in the kernel:

<?php
// app/AppKernel.php

protected function registerProjectBundles()
{
    return [
        // ...
        new Flagbit\Bundle\TableAttributeBundle\FlagbitTableAttributeBundle(),
        // ...
    ];
}

Configuration

Add mapping_overrides in app/config/config.yml:

akeneo_storage_utils:
    mapping_overrides:
        -
            original: Akeneo\Pim\Structure\Component\Model\AttributeOption
            override: Flagbit\Bundle\TableAttributeBundle\Entity\AttributeOption

Clear the cache:

php bin/console --env=prod cache:clear

Update the database schema:

php bin/console --env=prod doctrine:schema:update --force

Build and install the new front-end dependencies (new icon, etc.)

php bin/console --env=prod pim:installer:assets --symlink --clean
yarn run webpack

In case you're using Doctrine migrations, you have to create a new migration class

php bin/console --env=prod doctrine:migration:diff

and migrate the schema updates:

php bin/console --env=prod doctrine:migrations:migrate

Compatibility

This extension supports the latest Akeneo PIM CE/EE stable versions:

  • 3.2 (LTS)
  • 3.0 (LTS)
  • 2.3 (LTS)

Development

Running Test-Suits

The TableAttributeBundle is covered with tests and every change and addition has also to be covered with unit or/and integration tests. It uses two testing suits: PHPSpec and PHPUnit.

To run the tests you have to change to this project's root directory and run the following commands in your console:

vendor/bin/phpunit
vendor/bin/phpspec run

Coding style

TableAttributeBundle uses the PSR-2 coding style and can be checked with Codesniffer.

vendor/bin/phpcs --standard=PSR2 --extensions=php ./src

Contributing

Contributions are always welcome! Please have a look at the contribution guidelines first.

License

The TableAttributeBundle is licensed under the MIT License - see the LICENSE file for details.

Supported with ❤ by Flagbit GmbH & Co. KG