vortrag produktimport
TRANSCRIPT
![Page 1: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/1.jpg)
Mythos ProduktimportDamian Luszczymak
Donnerstag, 11. November 2010
![Page 2: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/2.jpg)
Damian Luszczymak• Fachinformatiker
• Wirtschaftsinformatik
• PHP, Java, Objective-C
• Magento seit Beta
• Datenimport / Suche
• Magento Solr Extension
http://connect.get-the-code.deDonnerstag, 11. November 2010
![Page 3: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/3.jpg)
Warum?
• Initialimport
•Warenwirtschaft
• Keiner hat Lust dies einzutippen!
• 4 mögliche Wege
Donnerstag, 11. November 2010
![Page 4: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/4.jpg)
Möglichkeiten
•Dataflow
• SOAP API
•Model
• RAW Datenbank
Donnerstag, 11. November 2010
![Page 5: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/5.jpg)
•CSV mit Attributen
• Einstellung im Magento Backend
•Nur Simple Products
•Cron kann eingerichtet werden
Dataflow
Donnerstag, 11. November 2010
![Page 6: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/6.jpg)
Dataflow
Donnerstag, 11. November 2010
![Page 7: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/7.jpg)
Dataflow
Donnerstag, 11. November 2010
![Page 8: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/8.jpg)
• Problem ist immer die CSV ! Wegen Leerzeichen oder Zeilenumbrüchen
Dataflow
Donnerstag, 11. November 2010
![Page 9: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/9.jpg)
• SOAP API vI v2 (v3)
•Unterstützt jede Programmiersprache
•Overhead
SOAP API
Donnerstag, 11. November 2010
![Page 10: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/10.jpg)
• recht langsamen
• Probleme je nach Sprache mit wsdl
• schwer zu debuggen,erweitern (IMHO)
SOAP API
Donnerstag, 11. November 2010
![Page 11: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/11.jpg)
SOAP API
$proxy = new SoapClient('http://magentohost/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
Donnerstag, 11. November 2010
![Page 12: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/12.jpg)
SOAP API$attributeSets = $proxy->call($sessionId,'product_attribute_set.list');$set = current($attributeSets);$newProductData = array( 'name' => 'name of product', 'websites' => array(1), // array(1,2,3,...) 'short_description' => 'short description', 'description' => 'description', 'price' => 12.05 );
Donnerstag, 11. November 2010
![Page 13: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/13.jpg)
SOAP API
// Create new product$proxy->call($sessionId, 'product.create', array('simple', $set['set_id'], 'sku_of_product', $newProductData));
// Get info of created product$proxy->call($sessionId, 'product.info', 'sku_of_product');
Donnerstag, 11. November 2010
![Page 14: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/14.jpg)
• schneller als SOAP aber langsam
•Upgradefähig
• Robust
• alles was Magento macht, ist möglich
Model API
Donnerstag, 11. November 2010
![Page 15: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/15.jpg)
Model API
require_once("../app/Mage.php");Mage::app('admin');
$product = Mage::getModel('catalog/product');$existSku = $product->getIdBySku($int_sku);
Donnerstag, 11. November 2010
![Page 16: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/16.jpg)
Model API
$product->setWebsiteIds(array('0')); $product->setAttributeSetId(4);$product->setSku($int_sku);$product->setTypeId('simple');$product->setName('Meet Magento');$product->setDescription('Alles ganz duffte');$product->setShortDescription('jep'); $product->setPrice($arr_products2[8]);
Donnerstag, 11. November 2010
![Page 17: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/17.jpg)
Model API
$product->setWeight(10);$product->setTaxClassId(2);
//0-Disabled; 1-Enabled$product->setStatus(1);
// 1-Nowhere; 2-Catalog; 3-Search; 4-Catalog/Search$product->setVisibility(4);
Donnerstag, 11. November 2010
![Page 18: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/18.jpg)
Model API
$stockData['qty'] = 1;$stockData['is_in_stock'] = 1;$stockData['manage_stock'] = 0;$product->setStockData($stockData);
$product->save();
Donnerstag, 11. November 2010
![Page 19: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/19.jpg)
•man muss die Magento DB Struktur kennen
• nicht upgradefähig
• dafür schneller beim import
• eigene Logik muss implementiert werden
Raw DB
Donnerstag, 11. November 2010
![Page 20: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/20.jpg)
Raw DB
insert into catalog_product_entity(entity_type_id,attribute_set_id,sku,created_at) ...
Soll ich die Struktur genauer erklären? Ist das gewünscht?
Donnerstag, 11. November 2010
![Page 21: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/21.jpg)
•Wenn man schnell importieren will autoindexer deaktivieren
• nach manuell anstossen
Optimierungen
Donnerstag, 11. November 2010
![Page 22: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/22.jpg)
uRapidFlow• das schnelle Dataflow
• 80.000 simple Products 20min
•Magento Backend werden Attribute zugewiesen
•CSV Dateien, läd automatisch Bilder herunter (optional)
Donnerstag, 11. November 2010
![Page 23: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/23.jpg)
MIP
• Egal ob CSV,XML,SOAP
•XSLT basierend
• schneller als normal API
• robust
Donnerstag, 11. November 2010
![Page 24: Vortrag produktimport](https://reader034.vdocuments.site/reader034/viewer/2022052600/5583d375d8b42a6b638b51da/html5/thumbnails/24.jpg)
Anmerkungen oder Fragen?
Donnerstag, 11. November 2010