hounddd/wn-mallimportexport-plugin

将数据导入或导出到 OFFLINE.mall。

v2.0.0 2023-02-13 16:27 UTC

This package is auto-updated.

Last update: 2024-09-13 20:11:48 UTC


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 制作出色的网站!