PHPackages                             blackbit\_digital\_commerce/pimcore-data-director-bmecat - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. blackbit\_digital\_commerce/pimcore-data-director-bmecat

ActivePimcore-bundle[Utility &amp; Helpers](/categories/utility)

blackbit\_digital\_commerce/pimcore-data-director-bmecat
========================================================

Create BMEcat export from Pimcore data objects

4301[1 issues](https://github.com/BlackbitDigitalCommerce/pimcore-data-director-bmecat/issues)

Since May 22Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/BlackbitDigitalCommerce/pimcore-data-director-bmecat)[ Packagist](https://packagist.org/packages/blackbit_digital_commerce/pimcore-data-director-bmecat)[ RSS](/packages/blackbit-digital-commerce-pimcore-data-director-bmecat/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

BMEcat Export &amp; Marketplace Add-on for Pimcore Data Director
================================================================

[](#bmecat-export--marketplace-add-on-for-pimcore-data-director)

This bundle adds result callback function templates to Data Director's attribute mapping to create BMEcat export feeds.

As it uses Data Director's export capabilities, your BMEcat exports profit by:

- everything is configurable in Pimcore backend user interface - no creation of PHP files or anything similar necessary
- access any data which is connected to exported products, for example you can easily access assigned categories, price information, manufacturers, product features, images etc.
- full flexibility in setting up a transformation pipeline to change values to the desired format (e.g. some BMEcat-processing applications have restrictions on length of some fields)
- supported BMEcat versions: 1.2, 2005.1
- automatically execute exports whenever a product object gets saved whose data gets exported to:
    - prepare export once the data changes, so that the data does not have to be generated in the moment when the export is requested -&gt; very fast exports because the export document is already available in the moment of request -&gt; you will have an always up-to-date BMEcat export
    - upload exports automatically to a target system to always have up-to-date data there
    - automatically send data the other APIs
- intelligent checks whether anything changed since the last export. If nothing changed, export document gets delivered from cache
- access exports via URL, for example to pull BMEcat export into an external system instead of pushing it

[![BMEcat field mapping](img/bmecat-field-mapping.png)](img/bmecat-field-mapping.png)

Importing ETIM classes / groups / features to Pimcore classification store
--------------------------------------------------------------------------

[](#importing-etim-classes--groups--features-to-pimcore-classification-store)

### Advantages of classification systems like ETIM

[](#advantages-of-classification-systems-like-etim)

Using classification systems like ETIM has several advantages:

1. You do not have to reinvent which technical attributes products of certain categories have.
2. You simplify the process of providing your product data to resellsers and sales partners by exporting a product's category and technical data in the standardized ETIM format.

    For example if your sales partner buys products from multiple suppliers beside you, every manufacturer might invent its own system of categories and technical data attributes. The reseller how faces the challenge of putting all this data from the suppliers / manufacturers to its own category / attribute system. For example one supplier uses a category `Clothes > Shoes > For him` and another one uses `Clothes > Men > Shoes > Sneakers`. Now the supplier has to map those supplier categories to its own category system. ETIM simplifies this because it has standardized classes. As soon as a reseller has mapped the ETIM classes to his own category system, he can from now automatically assign supplier products to his own categories - so this mapping effort has only to be done once compared to once *per supplier* when not using a classification standard like ETIM.

    The same problems arise for technical data. One supplier has t-shirt sizes `M, L, XL, 2XL` while another one has `M, L, XL, XXL` and a third one has `Medium, Large, Extra Large, Extra-Extra large`. When a reseller wants to provide a size filter on its website he has to map these different sizes to an own size system. But when the suppliers provide technical data as ETIM features, the whole mapping gets a lot easier because it only needs to be done once for all suppliers which support ETIM.
3. You can still keep your categories and technical data in other fields than a classification store because the Data Director bundle can be used to automatically copy the values from your fields to the classification store fields as soon as a product gets saved.

### Import ETIM groups and attributes

[](#import-etim-groups-and-attributes)

By calling  you can access all ETIM groups as an XML file. Internally the underlying code accesses the ETIM API and converts it to an XML feed:

```

            Niederspannungsschaltger&#xE4;te
            Low-voltage industrial components
            ...

        Sammelschienenklemme
        Busbar terminal
        ...

            Abzweigklemme
            Anschlussklemme
            Busbar terminal
            Cable clamp
            ...

                Sammelschienendicke
                Busbar thickness

                        Millimeter
                        Millimetre
                        ...

                        Inch
                        Inch
                        ...

                Geeignet f&#xFC;r
                Suitable for
                ...

                        Flachschiene
                        Flat rail
                        ...

                        T-Schiene
                        T-rail
                        ...

                    ...

            ...

    ...

```

This can be used for creating ETIM groups and features and Pimcore data objects via Data Director.

This URL supports parameters:

- `release`, e.g.  to retrieve all ETIM 9.0 data. By default ETIM-8.0 data gets loaded.
- `filters`: e.g. [http://your-pimcore.org/classification/etim.xml?filters\[\]=EC004082](http://your-pimcore.org/classification/etim.xml?filters%5B%5D=EC004082) to retrieve only data for a certain group. It is a fulltext filter, so you will get a certain group even if the filter term only matches for a certain attribute.

### Create ETIM classifiation store

[](#create-etim-classifiation-store)

This bundle provides a command to automatically create and update Pimcore classification stores based on the [ETIM classification system](https://viewer.etim-international.com/). This import command can be triggered with

```
bin/console classification-store-import:etim
```

It will automatically create classification stores based on ETIM releases, group collections based on ETIM groups, groups based on ETIM classes and key definitions / fields based on ETIM features.

You can also filter the classes and fields to be created:

```
bin/console classification-store-import:etim EC004082 shoe
```

This will only import classes and fields which have anywhere in their names, descriptions etc. the term "EC004082" (ETIM class "shelf") or "shoe". It is better to filter by ETIM IDs because with words like "shoe" you will also import classes like "cable shoes".

All matching fields get updated with the current data from the ETIM API when you rerun the command again.

If you want to clear the corresponding classification stores before importing again, you can use the `--rm` flag:

```
bin/console classification-store-import:etim EC004082
```

This will search for the class "EC004082", truncate matching classification stores for all found ETIM releases and afterwards import the class and its fields.

---

After executing the `classification-store-import:etim` you will have a classification store with all the available fields, correct field types, available options, quantity value units (incl. conversion factors) and translations:

[![ETIM classification store group collections](img/etim-classification-store-group-collections.png)](img/etim-classification-store-group-collections.png)

[![ETIM classification store groups](img/etim-classification-store-groups.png)](img/etim-classification-store-groups.png)

[![ETIM classification store fields](img/etim-classification-store-fields.png)](img/etim-classification-store-fields.png)

And in object editing you can enter the data:

[![ETIM classification store object editing](img/etim-classification-store-object-editing.png)](img/etim-classification-store-object-editing.png)

### Import Ebay categories

[](#import-ebay-categories)

Via  the Ebay categories get fetched from the Ebay taxonomy API and provided as XML. This can be used to import Ebay categories as data objects into Pimcore.

Installation
------------

[](#installation)

This bundle is an add-on bundle for [Pimcore Data Director](https://pimcore.com/en/developers/marketplace/blackbit_digital_commerce/pimcore-data-director_e103850). You can buy this BMEcat add-on bundle in the [Blackbit Shop](https://shop.blackbit.com/pimcore-bmecat-import-export/) or write an email to .

After you have installed Pimcore Data Director you can proceed with the BMEcat bundle installation.

Please contact us to get access to the bundle's [Bitbucket repository](https://bitbucket.org/blackbitwerbung/pimcore-plugins-data-director-bmecat) or you get the plugin code as a zip file. When we permit your account to access our repository, please add the repository to the `composer.json` in your Pimcore root folder (see [Composer manual about repositories](https://getcomposer.org/doc/05-repositories.md#vcs)):

```
"repositories": [
    {
        "type": "vcs",
        "url": "https://bitbucket.org/blackbitwerbung/pimcore-plugins-data-director-bmecat"
    }
],
```

Alternatively if you received the plugin code as zip file, please upload the zip file to your server (e.g. to the Pimcore root folder) and add the following to your `composer.json`:

```
"repositories": [
    {
        "type": "artifact",
        "url": "path/to/directory/with/zip-file/"
    }
]
```

Then you should be able to execute `composer require blackbit/data-director-bmecat` (or `composer update blackbit/data-director-bmecat --with-dependencies` for updates if you already have this bundle installed) from CLI.

You can always access the latest version by executing `composer update blackbit/data-director-bmecat` on CLI.

Setup export
------------

[](#setup-export)

Select `BMEcat Export` from the list of templates for the `Result Callback function` in data director's attribute mapping.

Then the fields which the BMEcat standard defines will appear as *virtual* fields in attribute mapping. To those fields you can map your data object class fields via drag &amp; drop (and additional callback functions if necessary). Afterwards you can access the export either via manual export or via URL (via Data Director's REST API).

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/edf236af532784ace4b8fe1f8342c426bfcbe1ebfaa68b73fecb5a16a4e8f446?d=identicon)[BlackbitNeueMedien](/maintainers/BlackbitNeueMedien)

---

Top Contributors

[![BlackbitDevs](https://avatars.githubusercontent.com/u/8749138?v=4)](https://github.com/BlackbitDevs "BlackbitDevs (2 commits)")

### Embed Badge

![Health badge](/badges/blackbit-digital-commerce-pimcore-data-director-bmecat/health.svg)

```
[![Health](https://phpackages.com/badges/blackbit-digital-commerce-pimcore-data-director-bmecat/health.svg)](https://phpackages.com/packages/blackbit-digital-commerce-pimcore-data-director-bmecat)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
