blackbit_digital_commerce/pimcore-data-director-bmecat

从 Pimcore 数据对象创建 BMEcat 导出

dev-master 2023-09-26 05:55 UTC

This package is auto-updated.

Last update: 2024-09-26 08:23:20 UTC


README

此扩展包向数据管理器的属性映射中添加了结果回调函数模板,以创建 BMEcat 导出数据流。

因为它使用了数据管理器的导出功能,所以您的 BMEcat 导出受益于以下优点:

  • 在 Pimcore 后端用户界面中一切可配置 - 无需创建 PHP 文件或类似文件
  • 访问与导出产品相关联的所有数据,例如,您可以轻松访问分配的类别、价格信息、制造商、产品特性、图片等。
  • 在设置转换管道方面具有完全灵活性,以将值转换为所需的格式(例如,一些 BMEcat 处理应用程序对某些字段的长度有限制)
  • 支持的 BMEcat 版本:1.2、2005.1
  • 每当保存一个导出数据的产品对象时,自动执行导出
    • 在数据更改后准备导出,以便在请求导出时不需要生成数据 -> 非常快速的导出,因为导出文档在请求时已经可用 -> 您将始终拥有最新的 BMEcat 导出
    • 自动将导出上传到目标系统,以确保该系统中的数据始终是最新的
    • 自动将数据发送到其他 API
  • 智能检查自上次导出以来是否有任何更改。如果没有更改,则从缓存中提供导出文档
  • 通过 URL 访问导出,例如,将 BMEcat 导出拉入外部系统,而不是推送它

将 ETIM 类 / 组 / 功能导入 Pimcore 分类存储

ETIM 等分类系统的优势

使用 ETIM 等分类系统具有几个优点

  1. 您无需重新发明特定类别产品的技术属性。

  2. 通过将产品的类别和技术数据以标准 ETIM 格式导出,您简化了向分销商和销售合作伙伴提供产品数据的过程。

    例如,如果您的销售合作伙伴从您和其他供应商那里购买产品,每个制造商可能会发明自己的一套类别和技术数据属性系统。分销商面临着将所有这些数据从供应商/制造商映射到自己的类别/属性系统的挑战。例如,一个供应商使用类别 Clothes > Shoes > For him,而另一个供应商使用 Clothes > Men > Shoes > Sneakers。现在供应商必须将这些供应商类别映射到自己的类别系统中。ETIM 通过具有标准化的类来简化这一点。一旦分销商将其 ETIM 类映射到自己的类别系统,他现在可以自动将供应商产品分配到自己的类别 - 因此,与不使用像 ETIM 这样的分类标准相比,这种映射工作只需进行一次。

    技术数据也会出现同样的问题。一个供应商的T恤尺码有 M, L, XL, 2XL,而另一个供应商则有 M, L, XL, XXL,还有一个供应商的尺码是 Medium, Large, Extra Large, Extra-Extra large。当分销商想在网站上提供尺码筛选功能时,他必须将这些不同的尺码映射到自己的尺码系统中。但是,当供应商以ETIM功能的形式提供技术数据时,整个映射过程会变得容易得多,因为它只需要对所有支持ETIM的供应商进行一次映射。

  3. 您仍然可以将类别和技术数据保留在其他字段中,而不仅仅是分类存储字段,因为Data Director包可以在产品保存时自动将字段值复制到分类存储字段。

导入ETIM组和属性

通过调用 http://your-pimcore.org/classification/etim.xml,您可以将所有ETIM组作为XML文件访问。内部代码访问ETIM API并将其转换为XML馈送。

<?xml version="1.0"?>
<etim release="ETIM-8.0">
    <group id="EC000001">
        <category id="EG000017">
            <name language="de">Niederspannungsschaltger&#xE4;te</name>
            <name language="en">Low-voltage industrial components</name>
            ...
        </category>
        <name language="de">Sammelschienenklemme</name>
        <name language="en">Busbar terminal</name>
        ...
        <synonyms>
            <synonym language="de">Abzweigklemme</synonym>
            <synonym language="de">Anschlussklemme</synonym>
            <synonym language="en">Busbar terminal</synonym>
            <synonym language="en">Cable clamp</synonym>
            ...
        </synonyms>
        <attributes>
            <attribute id="EF007220">
                <name language="de">Sammelschienendicke</name>
                <name language="en">Busbar thickness</name>
                <allowed_values>
                    <value id="EU570448" abbreviation="mm">
                        <name language="de">Millimeter</name>
                        <name language="en">Millimetre</name>
                        ...
                    </value>
                    <value id="EU000051" abbreviation="inch">
                        <name language="de">Inch</name>
                        <name language="en">Inch</name>
                        ...
                    </value>
                </allowed_values>
            </attribute>
            <attribute id="EF000073">
                <name language="de">Geeignet f&#xFC;r</name>
                <name language="en">Suitable for</name>
                ...
                <allowed_values>
                    <value id="EV009241">
                        <name language="de">Flachschiene</name>
                        <name language="en">Flat rail</name>
                        ...
                    </value>
                    <value id="EV009472">
                        <name language="de">T-Schiene</name>
                        <name language="en">T-rail</name>
                        ...
                    </value>
                    ...
                </allowed_values>
            </attribute>
            ...
        </attributes>
    </group>
    ...
</etim>

这可以用于通过Data Director创建ETIM组和功能以及Pimcore数据对象。

此URL支持参数

创建ETIM分类存储

此包提供了一个命令,可以自动根据 ETIM分类系统 创建和更新Pimcore分类存储。此导入命令可以通过以下方式触发:

bin/console classification-store-import:etim

它将自动根据ETIM发布创建分类存储,根据ETIM组创建组集合,根据ETIM类创建组,根据ETIM功能创建关键定义/字段。

您还可以过滤要创建的类和字段

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

这仅导入名称、描述等任何地方包含“EC004082”(ETIM类“架子”)或“鞋”术语的类和字段。最好通过ETIM ID进行过滤,因为像“鞋”这样的词也会导入像“电缆鞋”这样的类。

当您再次运行命令时,所有匹配的字段都将使用ETIM API的当前数据更新。

如果您想在再次导入之前清除相应的分类存储,可以使用 --rm 标志

bin/console classification-store-import:etim EC004082

这将搜索类“EC004082”,截断所有找到的ETIM发布版本的匹配分类存储,然后导入类及其字段。

执行 classification-store-import:etim 后,您将拥有包含所有可用字段、正确的字段类型、可用选项、数量值单位(包括转换系数)和翻译的分类存储。

ETIM classification store group collections

ETIM classification store groups

ETIM classification store fields

在对象编辑中您可以输入数据

ETIM classification store object editing

导入Ebay类别

通过 http://your-pimcore.org/classification/ebay.xml,从Ebay分类法API获取Ebay类别并提供为XML。这可以用于将Ebay类别作为数据对象导入Pimcore。

安装

此包是 Pimcore Data Director 的附加包。您可以在 Blackbit商店 购买此BMEcat附加包,或发送电子邮件到 info@blackbit.de

在安装Pimcore Data Director后,您可以继续进行BMEcat包的安装。

请联系我们获取访问bundle的Bitbucket仓库,或者以zip文件的形式获取插件代码。当我们的账户允许您访问我们的仓库后,请将仓库添加到Pimcore根目录下的composer.json文件中(请参阅Composer仓库手册)。

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

如果您以zip文件的形式收到插件代码,请将其上传到您的服务器(例如Pimcore根目录),然后在您的composer.json文件中添加以下内容:

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

然后您应该可以从命令行执行composer require blackbit/data-director-bmecat(如果您已经安装了这个bundle,则可以使用composer update blackbit/data-director-bmecat --with-dependencies进行更新)。

您始终可以通过在命令行中执行composer update blackbit/data-director-bmecat来访问最新版本。

设置导出

在数据目录的属性映射中,从模板列表中选择BMEcat导出作为结果回调函数

然后,BMEcat标准定义的字段将作为虚拟字段出现在属性映射中。您可以通过拖放(必要时还可以添加额外的回调函数)将这些字段映射到您的数据对象类字段。之后,您可以通过手动导出或通过URL(通过数据目录的REST API)来访问导出。