vortrag produktimport

25
Mythos Produktimport Damian Luszczymak Donnerstag, 11. November 2010

Upload: damian-luszczymak

Post on 19-Jun-2015

1.058 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Vortrag produktimport

Mythos ProduktimportDamian Luszczymak

Donnerstag, 11. November 2010

Page 2: Vortrag produktimport

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

Warum?

• Initialimport

•Warenwirtschaft

• Keiner hat Lust dies einzutippen!

• 4 mögliche Wege

Donnerstag, 11. November 2010

Page 4: Vortrag produktimport

Möglichkeiten

•Dataflow

• SOAP API

•Model

• RAW Datenbank

Donnerstag, 11. November 2010

Page 5: Vortrag produktimport

•CSV mit Attributen

• Einstellung im Magento Backend

•Nur Simple Products

•Cron kann eingerichtet werden

Dataflow

Donnerstag, 11. November 2010

Page 6: Vortrag produktimport

Dataflow

Donnerstag, 11. November 2010

Page 7: Vortrag produktimport

Dataflow

Donnerstag, 11. November 2010

Page 8: Vortrag produktimport

• Problem ist immer die CSV ! Wegen Leerzeichen oder Zeilenumbrüchen

Dataflow

Donnerstag, 11. November 2010

Page 9: Vortrag produktimport

• SOAP API vI v2 (v3)

•Unterstützt jede Programmiersprache

•Overhead

SOAP API

Donnerstag, 11. November 2010

Page 10: Vortrag produktimport

• recht langsamen

• Probleme je nach Sprache mit wsdl

• schwer zu debuggen,erweitern (IMHO)

SOAP API

Donnerstag, 11. November 2010

Page 11: Vortrag produktimport

SOAP API

$proxy = new SoapClient('http://magentohost/api/soap/?wsdl');

$sessionId = $proxy->login('apiUser', 'apiKey');

Donnerstag, 11. November 2010

Page 12: Vortrag produktimport

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

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

• 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

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

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

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

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

•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

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

•Wenn man schnell importieren will autoindexer deaktivieren

• nach manuell anstossen

Optimierungen

Donnerstag, 11. November 2010

Page 22: Vortrag produktimport

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

MIP

• Egal ob CSV,XML,SOAP

•XSLT basierend

• schneller als normal API

• robust

Donnerstag, 11. November 2010

Page 24: Vortrag produktimport

Anmerkungen oder Fragen?

Donnerstag, 11. November 2010

Page 25: Vortrag produktimport

Kontakt

Damian Luszczymak@daimcity+49-160-94 90 19 [email protected]

Donnerstag, 11. November 2010