Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: Export/ Import für Produkte

  1. #1
    Contao-Nutzer Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Frage Export/ Import für Produkte

    Hallo,

    bei einem Kundenshop soll ein Export und Import (CSV oder XLSX) für die gesamten Produkte implementiert werden. Man erhofft sich dadurch einen verbesserten Workflow bei der Produktbearbeitung.
    Gibt es hier eventuell schon Lösungen bzw. Erweiterungen?


    Vielen Dank vorab!
    Geändert von pcartist (16.01.2023 um 09:41 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    204

    Standard

    Sowas ist ja immer sehr individuell..
    Aber als Basis:

    Installieren: https://packagist.org/packages/league/csv

    PHP-Code:
    <?php

    // NICHT GETESTET!!!

    use League\Csv\Reader;
    use 
    League\Csv\Statement;
    use 
    Contao\Controller;
    use 
    Contao\System;
    use 
    ProductModel;

    class 
    ProductImport extends Controller {

        public function 
    importProducts () {
            
            
            
    $productArr $this->getCsvData();
            if (!
    $productArr) {
                return;
            }
            
            foreach(
    $productArr as $row) {
                
                
    $arrColumns = ["id=?"]; // or Artikelnummer
                
    $arrValues = [$row['id']];  
                
    $arrOptions = [];
            
                
    $productObj ProductModel::findby($arrColumns$arrValues$arrOptions);
                
                if (
    $productObj == NULL ) {
                    
    $productObj = new ProductModel();
                    
    $productObj->published "";
                }
                
                
    $productObj->name $row['name'];
                
    $productObj->description $row['description'];
                
    $productObj->price $row['price'];
                
    $productObj->save();
                
            }
        }


        public function 
    getCsvData () {
            
    $container System::getContainer();
            
    $stream fopen($container->getParameter('kernel.project_dir')."pfad/zum/product.csv"'r');
            
    $csv Reader::createFromStream($stream);
            
    $csv->setDelimiter(';');
            
    $csv->setEnclosure('"');
            
    $stmt = (new Statement())
                ->
    offset(0)
                ->
    limit(999999)
            ;
            return 
    $stmt->process($csv);
        }

    }


    ?>

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.061
    Partner-ID
    10107

    Standard

    Statt System::getContainer() auf jeden Fall DI verwenden aber
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.450
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In der Erweiterungssuche findet man das hier: https://extensions.contao.org/?p=ins...isotope-export

  5. #5
    Contao-Nutzer Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard

    Vielen Dank für Euer Feedback. Das bringt mich auf jeden Fall schon mal weiter!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •