GithubHelp home page GithubHelp logo

dheia / wn-mallimportexport-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hounddd/wn-mallimportexport-plugin

0.0 0.0 0.0 74 KB

Update (import) or export products data to OFFLINE.mall plugin

License: MIT License

PHP 87.45% HTML 12.55%

wn-mallimportexport-plugin's Introduction

Mall Import/Export

This plugin offers the possibility to import or export data into the OFFLINE.Mall plugin.


Please note that it does NOT allow you to add products but to update existing products.


What you can import or export

  • publication status
  • stocks
  • authorisation for sales out of stock
  • weight
  • prices, additional prices and group prices, in all currencies.
  • and whatever you decide

How it works

The plugin uses the CSV file import/export features of WinterCMS.

With default options, exporting data will give you a CSV file named Products_export_2021-09-23.csv.

Columns naming

The plugin use currencies symbols to append same to the column name.

  • The prices columns will be named "Price $", "Price €", ...
  • The customers prices columns will be named "Price pricename $", "Price pricename €", ...
    ex for a "Vip" customer price : "Price vip $", "Price vip €", ...
  • The defined price categories use their own names "Price category name $", "Price category name €", ...
    ex for a "Old price" price category : "Old price $", "Old price €", ...

You can define your own filename, date or column's names from config.

Add your own columns

You can listen for hounddd.mallimportexport.config.update event to add your own column definition.

Example to add the product's name to export fields, at the second position

/**
 * 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);
});

Integration

If the version of your OFFLINE.Mall plugin includes event hooks for toolbars (>= 1.14.4), you will find the import and export buttons at the top of the product list, otherwise an entry will be added to the side menu of the plugin.
Buttons are available according to the user rights.

Installation

Let assume you're in the root of your wintercms installation

Using composer

Just run this command

composer require hounddd/wn-mallimportexport

Cloning repo

Clone this repo into your winter plugins folder.

cd plugins
mkdir hounddd && cd hounddd
git clone https://github.com/Hounddd/wn-mallimportexport mallimportexport

Configuring

Import/export behaviors

You can configure plugin behaviors with a file \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 : (default true) Defined if additionnal price columns must use currency symbol ou currency code.
  • removeDiacritics : (default false) Defined if diacritics characters must be removed from prices and additionnal prices column labels.

For the other columns use the translations (see below).
This allows you to bypass encoding problems with import or export files.

See PHP date format for dateFormat accepted values.
Remember that this is for the name of a file, respect the conventions to avoid trouble.

Csv file column's names

You can change the column names to match your needs, simply add a \lang\XX\hounddd\mallimportexport\lang.php (where XX is your locale) to your site.

<?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',
        ],

    ];

Make awesome sites with WinterCMS!

wn-mallimportexport-plugin's People

Contributors

damsfx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.