hounddd / wn-mallimportexport-plugin
将数据导入或导出到 OFFLINE.mall。
v2.0.0
2023-02-13 16:27 UTC
Requires
- composer/installers: ~1.0
- offline/oc-mall-plugin: ^1.0||^2.0.0
README
此插件提供将数据导入或导出到 OFFLINE.Mall 插件的功能。
⚠ 请注意,它不能添加产品,而是更新现有产品。
您可以导入或导出的内容
- 发布状态
- 库存
- 缺货销售授权
- 重量
- 价格、附加价格和组价格,所有货币。
- 以及您决定的内容
工作原理
插件使用 WinterCMS 的 CSV 文件导入/导出功能。
默认情况下,导出数据将生成一个名为 Products_export_2021-09-23.csv 的 CSV 文件。
列命名
插件使用货币符号来追加到列名。
- 价格列将被命名为 "Price $"、"Price €"、...
- 客户价格列将被命名为 "Price pricename $"、"Price pricename €"、...
例如,对于 "Vip" 客户价格:"Price vip $"、"Price vip €"、... - 定义的价格类别使用它们自己的名称 "Price category name $"、"Price category name €"、...
例如,对于 "Old price" 价格类别:"Old price $"、"Old price €"、...
您可以从 配置 中定义自己的文件名、日期或列名。
添加自己的列
您可以通过监听 hounddd.mallimportexport.config.update 事件来添加自己的列定义。
示例:将产品名称添加到导出字段,位于第二个位置
/** * Extend products controller export columns definition */ Event::listen('hounddd.mallimportexport.config.update', function ($controller, $config) { $exportColumns = $config->export['list']->columns; $position = 1; $config->export['list']->columns = array_slice($exportColumns, 0, $position, true) + [ 'name' => [ 'label' => 'offline.mall::lang.product.name' ] ] + array_slice($exportColumns, $position, count($exportColumns) - 1, true); });
集成
如果您的 OFFLINE.Mall 插件版本包含工具栏事件钩子(>= 1.14.4),您将在产品列表顶部找到导入和导出按钮,否则将在插件侧菜单中添加一个条目。
按钮根据用户权限可用。
安装
假设您位于 wintercms 安装的根目录
使用 composer
只需运行此命令
composer require hounddd/wn-mallimportexport
克隆仓库
将此仓库克隆到您的 winter 插件文件夹中。
cd plugins mkdir hounddd && cd hounddd git clone https://github.com/Hounddd/wn-mallimportexport mallimportexport
配置
导入/导出行为
您可以使用文件 \config\hounddd\mallimportexport\config.php 配置插件行为
<?php return [ 'import' => [ ], 'export' => [ 'fileName' => 'Export_produits', // New export filename, default "Products_export" 'appendDate' => true, // Append date to filename, default true 'dateFormat' => '_Y-m-d-z', // How to format appended date, default '_Y-m-d' ], 'useCurrencySymbol' => true, // Use currency symbol (true), code (false), or nothing (null), default true 'removeDiacritics' => false, // Remove diactritcis chars in additional prices column labels, default false ];
- useCurrencySymbol:(默认 true) 定义是否必须使用货币符号或货币代码添加附加价格列。
- removeDiacritics:(默认 false) 定义是否必须从价格和附加价格列标签中删除重音符号字符。
对于其他列使用翻译(见下文)。
这允许您绕过导入或导出文件中的编码问题。
有关接受的 dateFormat 值,请参阅 PHP 日期格式。
请记住,这是文件名,请遵守约定以避免麻烦。
Csv 文件列名
您可以根据需要更改列名,只需将 \lang\XX\hounddd\mallimportexport\lang.php(其中 XX 是您的区域设置)添加到您的网站中即可。
<?php return [ 'columns' => [ 'allow_out_of_stock_purchases' => 'Vente hors stock', 'price' => 'Prix en', 'published' => 'Publié', 'stock' => 'Stock', 'user_defined_id' => 'Référence', 'weight' => 'Poids en g', ], ];
用 WinterCMS 制作出色的网站!