Da standarmäßig per API (Version 1.x) keine Verbindungen zwischen Produkten ausgelesen werden können, ist es sinnvoll diese Verbindungen in die Schnittstelle des Magento Shops erweitern zu lassen, damit die Produkte von Magento inkl. Varianten in tricoma importiert werden können.
In der Auflistung aller Produkte (catalog_product.list) soll die Zuordnung, welche Varianten (product_type "simple") ein Hauptprodukt (product_type "configurable") hat und zu welchem Hauptprodukt eine Variante gehört, eingefügt werden. Ebenso sollen diese Zuordnungen auch bei den Produktdaten eines einzelnen Produkts (catalog_product.info) eingefügt werden, so dass jederzeit ausgelesen werden kann, wie Produkte miteinander verbunden sind.
Die weiteren Daten der einzelnen Varianten, wie Preis, Beschreibungen, Bilder usw., können direkt mit dem Call "catalog_product.info" über die product_id der Variante geholt werden.
Wenn ein Produkt mit product_type "configurable" keine Varianten (= verknüpfte Artikel) hat, dann soll nur
[tri_varianten] => Array ()
übertragen werden, ansonsten die verknüpften Artikel (s. unten).
Wenn ein Produkt mit product_type "simple" zu keinem Hauptprodukt gehört, dann
[tri_hauptproduct] =>
übergeben, ansonsten die product_id des Hauptprodukts; und wenn es keine Unterscheidungsmerkmale gibt, dann
[tri_merkmale] => Array ()
, ansonsten die Unterscheidungsmerkmale (s. unten). "tri_" (Kürzel für tricoma) vorangestellt, um sicherzustellen, dass die Bezeichnungen nicht irgendwie anderweitig vorkommen können und es zu einem Durcheinander kommt.
Eigenschaften
- API: SOAP V1
- Zeichenkodierung: UTF-8
Produkte des Beispiels
- Hauptprodukt: T-Shirt "tricoma ist toll!", product_id 10001, sku shirt_tri, product_type configurable
- Variante: T-Shirt "tricoma ist toll!" in Farbe "Blau" und Größe "XL", product_id 10002, sku shirt_tri-bl-xl, product_type simple
- Variante: T-Shirt "tricoma ist toll!" in Farbe "Grün" und Größe "M", product_id 10003, sku shirt_tri-gr-m, product_type simple
Beispielausgaben der Erweiterung für die Beispielprodukte
Call: catalog_product.list
Array
(
[0] => Array
(
[product_id] => 10001
[sku] => shirt_tri
[name] => T-Shirt "tricoma ist toll!"
[tri_hauptproduct] =>
[tri_merkmale] => Array
(
)
[tri_varianten] => Array
(
[0] => Array
(
[product_id] => 10002
[sku] => shirt_tri-bl-xl
[merkmale] => Array
(
[Farbe] => Blau
[Größe] => XL
)
)
[1] => Array
(
[product_id] => 10003
[sku] => shirt_tri-gr-m
[merkmale] => Array
(
[Farbe] => Grün
[Größe] => M
)
)
)
[weitere] => Daten
)
[1] => Array
(
[product_id] => 10002
[sku] => shirt_tri-bl-xl
[name] => T-Shirt "tricoma ist toll!"
[tri_hauptproduct] => 10001
[tri_merkmale] => Array
(
[Farbe] => Blau
[Größe] => XL
)
[tri_varianten] => Array
(
)
[weitere] => Daten
)
[2] => Array
(
[product_id] => 10003
[sku] => shirt_tri-gr-m
[name] => T-Shirt "tricoma ist toll!"
[tri_hauptproduct] => 10001
[tri_merkmale] => Array
(
[Farbe] => Grün
[Größe] => M
)
[tri_varianten] => Array
(
)
[weitere] => Daten
)
[3] => Array
(
[weitere] => Produkte...
)
)
Call: catalog_product.info
Hauptprodukt
Array
(
[product_id] => 10001
[sku] => shirt_tri
[type] => configurable
[name] => T-Shirt "tricoma ist toll!"
[tri_varianten] => Array
(
[0] => Array
(
[product_id] => 10002
[sku] => shirt_tri-bl-xl
[merkmale] => Array
(
[Farbe] => Blau
[Größe] => XL
)
)
[1] => Array
(
[product_id] => 10003
[sku] => shirt_tri-gr-m
[merkmale] => Array
(
[Farbe] => Grün
[Größe] => M
)
)
)
[weitere] => Daten
)
Variante Blau XL
Array
(
[product_id] => 10002
[sku] => shirt_tri-bl-xl
[type] => simple
[name] => T-Shirt "tricoma ist toll!"
[tri_hauptproduct] => 10001
[tri_merkmale] => Array
(
[Farbe] => Blau
[Größe] => XL
)
[tri_varianten] => Array
(
)
[weitere] => Daten
)
Variante Grün M
Array
(
[product_id] => 10003
[sku] => shirt_tri-gr-m
[type] => simple
[name] => T-Shirt "tricoma ist toll!"
[tri_hauptproduct] => 10001
[tri_merkmale] => Array
(
[Farbe] => Grün
[Größe] => M
)
[tri_varianten] => Array
(
)
[weitere] => Daten
)