2016-05-11 10 views
0

Ich muss 40.000 Produkte importieren. Diese Produkte zusammen generieren 600,000 Attributwerte Es gibt eine CSV-Datei mit Produktinformationen (sku, Name, Beschreibung und Ean) und einem separaten Blatt nur mit den Attributen (600K)Beratung mit Magento große productsfile csv import

Auf jeder Zeile i haben: Sku - Attribut - Wert

z

123 Farbe Grün 123 Länge 120 123 Größe XL 456 Farbe Weiß 456 Länge 260 etc ..

ich alle Duplikate herausgefiltert haben, welche in 2200 einzigartige Attribute geführt.

Was soll ich mit diesen Attributen tun? Setzen Sie sie alle in ein Attributset? Wird es die Leistung des Webshops beeinträchtigen?

Und was ist mit dem Attributblatt? Wie soll ich die Struktur der präsentierten Daten konvertieren, damit sie für den Import in Magent nützlich ist? Weil Magento alle Attributnamen als Spaltenheader benötigt?

Ich habe versucht, die Attributwerte mit SVERWEIS zu sammeln, aber in Speicherproblemen auf meinem MACbook Pro. Füllen Sie eine Spalte mit einer Formel funktioniert nicht mit dieser Menge von Datensätzen.

Vielleicht gibt es ein Lösungsprogramm.

Danke!

+0

sein kann magmi für Sie arbeiten. – fresher

Antwort

0

Ich würde vorschlagen, Produkt pragmatisch zu erstellen. Importieren Sie das Produkt in eine MySQL-Tabelle (Tabellen) und erstellen Sie direkt den Magento-Code. Sie können konfigurierbare Attribute erstellen und ihre ID beim Erstellen von Produkten verwenden.

+0

Hallo Prijos, hast du irgendwelche Beispiele? – SiteRefresh

+0

ja, ich werde hier Code hinzufügen – prajosh

0

Sie sollten über die Verwendung von uRapidFlow nachdenken.

Während ich nicht ein großer Fan der Tatsache bin, dass es direkte sql verwendet, um Produkte zu importieren, ist es seit einiger Zeit bekannt und ist dafür bekannt, sehr zuverlässig und sehr schnell zu sein.

0
//add new products       
        $product = Mage::getModel('catalog/product'); 
        $product->setSku($sku); 
        $product->setStatus(1);  
        $product->setName($name); 
        $product->setDescription($details); 
        $product->setShortDescription($description); 
        $product->setPrice(0); 
        $product->setTypeId('simple'); 
        $product->setAttributeSetId(4); // enter the catalog attribute set id here 

       $product->setCategoryIds($categoryIds); // id of categories 

        $product->setWeight(1.0); 
        $product->setTaxClassId($taxClassId); 
        $product->setVisibility($visibility); 
        $product->setStatus($productStatus); 
        $product->setColor('color',$color_id); // u need to get attribute code for dropdown items 
        $product->setData('material', $avid); 
        $product->setBrand($brand); 
        /*$product->setStockData(
        array(
        'manage_stock' => 1, 
        'is_in_stock' => 1, 
        'qty' => $qty 
       ) 
        );*/ 
        // assign product to the default website 
        $product->setWebsiteIds(array(1,2,3,4)); 
        try{ 
        $product->save(); 

        $i++; 

        ; 
        }catch (Exception $e) { 
        echo Mage::logException($e->getMessage());    
        } 
        $id = Mage::getModel('catalog/product')->getIdBySku(trim($sku)); //get product id after create 

       //add dropdown items for attribute u created already, u need to make this as function to get option id before add a product 
       $attribute_model = Mage::getModel('eav/entity_attribute'); 
       $attribute_options_model= Mage::getModel('eav/entity_attribute_source_table') ; 
       $attribute_code = $attribute_model->getIdByCode('catalog_product', $attribute_code); 
       $attribute = $attribute_model->load($attribute_code); 
       $attribute_table = $attribute_options_model->setAttribute($attribute); 
       $options = $attribute_options_model->getAllOptions(false); 
       foreach($options as $option) 
       { 
         if (strtolower($option['label']) == strtolower($label)) 
         { 
         $optionId=$option['value']; 
         break; 
         } 
       } 

// u müssen durch eine Schleife laufen Produkte hinzuzufügen