clickandmortar/advanced-csv-connector-bundle

Akeneo 的高级 CSV 连接器


README

高级 CSV 连接器是经典 Akeneo CSV 连接器的扩展。它允许在导入或导出时自定义列映射。

由 C&M 用💙制作

版本

可选

您可以使用 php-lua 包在导入或导出时动态更新您的值。出于安全原因,可用的函数和库已被限制。您可以使用

  • string
  • math
  • ipairs
  • load
  • next
  • pairs
  • rawequal
  • rawgetwget
  • rawlen
  • rawset
  • select
  • tonumber
  • tostring
  • type

此包不是必需的。也可以使用经典 PHP 方法。

安装

下载包

更新您的 composer.json 文件,在 repositories 节使用我们 fork 的 自定义实体包

"repositories": [
        ...
        {
            "type": "vcs",
            "url": "https://github.com/ClickAndMortar/CustomEntityBundle"
        }
        ...
    ],

并添加我们的包

$ composer require "clickandmortar/advanced-csv-connector-bundle":"<version-wanted>.*"

最后版本的示例

$ composer require "clickandmortar/advanced-csv-connector-bundle":"7.0.*"

启用包

通过将其添加到项目 config/bundles.php 文件中注册的包列表来启用包

<?php

return [
    // ...
    Pim\Bundle\CustomEntityBundle\PimCustomEntityBundle::class => ['all' => true],
    ClickAndMortar\AdvancedCsvConnectorBundle\ClickAndMortarAdvancedCsvConnectorBundle::class => ['all' => true]
];

更新您的 config/routes/routes.yml 文件

pim_customentity:
        prefix: /reference-data
        resource: "@PimCustomEntityBundle/Resources/config/routing.yml"
        
candm_advanced_csv_connector:
    prefix: /candm-advanced-csv-connector
    resource: "@ClickAndMortarAdvancedCsvConnectorBundle/Resources/config/routing.yml"

最后,清除缓存并更新数据库

rm -rf var/cache/*
php bin/console --env=prod pim:installer:assets --symlink --clean
yarn run webpack
php bin/console doctrine:schema:update --force

使用方法

导入

要创建新的导入映射,请转到 Référenciel / Mappings d'import 并单击右上角的 创建 按钮。您可以通过单击 Ajouter une ligne 添加任意数量的映射行。

表格列的一些说明

  • Attribut (必填): Akeneo 项目中的属性代码(您可以使用后缀,如 -fr_FR-EUR 用于区域、渠道、货币等)
  • Nom de la colonne (必填): 要导入的文件中的列名称
  • Transformation: LUA 脚本名称或 PHP 方法名称,用于在映射后更新值。例如:大写,小写等。(您可以在 Référenciel / Scripts LUA 下创建新的 LUA 脚本)
  • Valeur par défaut: 如果文件中没有数据,则为属性提供的默认值
  • Identifiant (必填): 用于定义产品的主要标识属性
  • Uniquement à la création: 如果产品是新的(使用 identifier 属性检查),则仅设置属性值
  • Effacer si null: 如果值为 null,则从项目映射中删除键
  • Supprimer: 单击此单元格以删除映射行

映射保存后,转到 Imports 部分,创建一个类型为 Import des produits avancé (CSV) 的新作业。作业创建后,转到编辑模式,并在全局参数选项卡中更新 Mapping 参数。

导出

要创建新的导出映射,请转到 Référenciel / Mappings d'export 并单击右上角的 创建 按钮。您可以通过单击 Ajouter une ligne 添加任意数量的映射行。

表格列的一些说明

  • Attribut (必填): Akeneo 项目中的属性代码(您可以使用后缀,如 -fr_FR-EUR 用于区域、渠道、货币等)
  • Nom de la colonne (必填): 要导出的文件中的列名称
  • Valeur forcée: 强制一个值(从 Akeneo 中删除给定的属性值)
  • Transformation: LUA 脚本名称或 PHP 方法名称,用于在映射后更新值。例如:大写,小写等。(您可以在 Référenciel / Scripts LUA 下创建新的 LUA 脚本)
  • Utiliser le libellé: 布尔值,用于获取与给定代码关联的标签(用于属性选项或自定义实体)
  • 语言:选择用于导出标签的具体区域(与使用标签列相关联)
  • 最大长度:当需要时用于缩短属性值的整数
  • 默认值:如果属性值为空,则用于列的默认值
  • Supprimer: 单击此单元格以删除映射行

一旦映射保存,前往导出部分,创建一个类型为高级产品导出(CSV)的新任务。任务创建后,进入编辑模式,在全局参数选项卡中更新映射参数。