API-Import Funktionen
Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.
Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.
Inhaltsverzeichnis
- 1 API-Import Funktionen
- 1.1 Informationen
- 1.2 Methoden der Klassen
- 1.2.1 sArticle
- 1.2.2 sArticleAttributeGroup
- 1.2.3 sArticleTranslation
- 1.2.4 sArticleCategories
- 1.2.5 sArticleCategory
- 1.2.6 sArticleConfigurator
- 1.2.7 sArticleCrossSelling
- 1.2.8 sArticleDownload
- 1.2.9 sArticleImage
- 1.2.10 sArticleImages
- 1.2.11 sArticleLink
- 1.2.12 sArticlePrice
- 1.2.13 sArticlePrices
- 1.2.14 sArticleSimilar
- 1.2.15 sArticleStock
- 1.2.16 sCategory
- 1.2.17 sCustomer
- 1.2.18 sDeactivateArticle
- 1.2.19 sOrder
- 1.2.20 sRepairArticleCategories
- 1.2.21 sSupplier
- 1.2.22 sTranslation
- 1.3 Hilfsmethoden
- 1.3.1 sReadDir
- 1.3.2 sValFloat
- 1.3.3 sValDescription
- 1.3.4 sResizePicture
- 1.4 Getter
- 1.4.1 sGetArticleByAttribute
- 1.4.2 sGetArticledetailsID
- 1.4.3 sGetArticledetailsIDsByAttribute
- 1.4.4 sGetArticleID
- 1.4.5 sGetArticleNumbers
- 1.4.6 sGetCountryID
- 1.4.7 sGetMainArticleID
- 1.5 Setter
- 1.5.1 sSetAttribute
- 1.6 Deleter
- 1.6.1 sDeleteAllArticles
- 1.6.2 sDeleteAllCategories
- 1.6.3 sDeleteAllFiles
- 1.6.4 sDeleteArticle
- 1.6.5 sDeleteArticleAttributeGroup
- 1.6.6 sDeleteArticleAttributeGroupValues
- 1.6.7 sDeleteArticleCache
- 1.6.8 sDeleteArticleConfigurator
- 1.6.9 sDeleteArticleCrossSelling
- 1.6.10 sDeleteArticleDownloads
- 1.6.11 sDeleteArticleImages
- 1.6.12 sDeleteArticleLinks
- 1.6.13 sDeleteArticleSimilar
- 1.6.14 sDeleteCache
- 1.6.15 sDeleteCategories
- 1.6.16 sDeleteEmptyCategories
- 1.6.17 sDeleteOtherArticleImages
- 1.6.18 sDeleteOtherArticlesCategories
- 1.6.19 sDeleteOtherCategories
- 1.6.20 sDeleteTranslation
API-Import Funktionen
Informationen
Mit den API Import-Funktionen haben Sie die Möglichkeit Artikel, Kunden und Bestellungen via CSV oder XML in die shopware Datenbank zu importieren.
Datei: engine/connector/api/import/shopware.php
Klassenname: sShopwareImport
Einbindung:
require_once('../../api.php');
$api = new sAPI();
$import = &$api->import->shopware;
Methoden der Klassen
sArticle
function sArticle (array $article, array $config = array())
| Erklärung | Importieren von Artikel-Stammdaten |
|---|---|
| Parameter $article | Notwendige Felder:
Verknüpfung von Varianten: Wenn Sie einen der folgenden Werte übergeben, wird der Artikel mit einem bestehenden Artikel verknüpft, also als Variante zugeordnet. (Eindimensional)
Optionale Felder:
Optionale Felder der Tabelle s_articles_details
Optionale Felder der Tabelle s_articles_attributes
|
| Parameter $config | Erweiterte Konfiguration:
|
| Rückgabe | Assoziatives Array |
| Werte |
|
Code-Beispiel:
//Beispiel > Mindestangaben (nur Pflichtfelder) $article_data = array( "name" => "Name des Artikels", "ordernumber" => "IM1234", "supplier" => "Hersteller XY"); $import->sArticle($article_data); //Beispiel > Artikel anlegen, aber nicht aktualisieren wenn bereits vorhanden $article_data = array( "name" => "Name des Artikels", "ordernumber" => "IM1234", "supplier" => "Hersteller XY"); $import->sArticle($article_data, array("update", false));
Rückgabe:
Array
(
[articledetailsID] => 5083
[articleID] => 5026
[articleattributesID] => 5231
[kind] => 1
[supplierID] => 126
[tax] => 7
[taxID] => 4
)
sArticleAttributeGroup
function sArticleAttributeGroup (array $article)
| Erklärung | Setzt die Eigenschaftsgruppe eines Artikels |
|---|---|
| Parameter $article | Notwendige Felder:
Optionale Felder:
|
| Rückgabe | Assoziatives Array |
| Werte |
Code-Beispiel:
$import->sArticleAttributeGroup( array( "articleID"=>5028, "attributegroupID"=>2, "values"=> array( 1=>"Wert 1", 2=>"Wert 2" ), "values_en"=> array( 1=>"Value 1", 2=>"Value 2" ) ) );
sArticleTranslation
function sArticleTranslation (array $article)
| Erklärung | Übersetzt einen Artikel für verschiedene Subshops |
|---|---|
| Parameter $article | Notwendige Felder:
Bei Hauptartikeln (s_articles_details.kind = 1) können die Felder name, keywords, description , description_long und additionaltext übersetzt werden. Bei Varianten steht lediglich das Feld 'additionaltext' zur Verfügung. Diese werden im Format {Feldbezeichnung}_{Sprach-ISO} übergeben. Alle verfügbaren Sprach-ISOs können aus der Tabelle s_core_multilanguage entnommen werden.
|
| Rückgabe | bool |
| Werte |
1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Setzt die Übersetzungen für den englischen Subshop (Hauptartikel) $import-> sArticleTranslation(array( "articleID"=>5028, "name_en"=>"Articlename", "keywords_en"=>"Articlekeywords EN", "description_en"=>"Description EN", "additionaltext_en"=>"Default-variant" )); //Setzt die Übersetzungen für den englischen Subshop (Variante) $import-> sArticleTranslation(array( "ordernumber"=>SW74623, "additionaltext_en"=>"Variant 1" ));
sArticleCategories
function sArticleCategories (string/int/array $article, array $categoryIDs)
| Erklärung | Ordnet einem Artikel mehrere Kategorien zu |
|---|---|
| Parameter $article |
|
| Parameter $categoryID | Array der KategorieIDs (s_categories.id) |
| Rückgabe | array |
| Werte | Ids der zuletzt eingefügten Zuordnungen (s_articles_categories.id) |
Code-Beispiel:
//Beispiel 1 //Ordnet dem Artikel mit der ArtikelID (s_articles.id) 293 den Kategorien 4 bis 6 zu $import->sArticleCategories (293, array(4, 5, 6)); //Beispiel 2 //Ordnet dem Artikel mit der ArtikeldetailID (s_articles_details.id) 293 den Kategorien 4 bis 6 zu $import->sArticleCategories (array("articledetailsID"=>293), array(4, 5, 6));
Rückgabebeispiel:
Array
(
[0] => 20328
[1] => 20329
[2] => 20330
[3] => 20331
[4] => 20332
[5] => 20333
[6] => 20334
[7] => 20335
[8] => 20336
[9] => 20337
[10] => 20338
[11] => 20339
)
sArticleCategory
function sArticleCategory (int $articleID, int $categoryID)
| Erklärung | Ordnet einem Artikel eine Kategorie zu |
|---|---|
| Parameter $articleID | ID des Artikels > s_articles.id |
| Parameter $categoryID | ID der Kategorie > s_categories.id |
| Rückgabe | array |
| Werte | Id der zuletzt eingefügten Zuordnung (s_articles_categories.id) |
Code-Beispiel:
//Ordnet dem Artikel mit der ArtikelID (s_articles.id) 293 der Kategorie 4 zu $import->sArticleCategory (293, 4);
Rückgabebeispiel:
Array
(
[0] => 20341
)
sArticleConfigurator
function sArticleConfigurator (int $articleID, array $article_configurator)
| Erklärung | Legt die Konfiguratoreinstellungen eines Artikels fest. Beim Aufruf dieser Methode, werden zuvor übermittelte Datensätze gelöscht. (Aufruf der Methohde sDeleteArticleConfigurator) |
|---|---|
| Parameter $article |
|
| Parameter $article_configurator | Notwendige und optionale Felder:
|
| Rückgabe | void |
Code-Beispiel:
$article_configurator = array("values" => array( array ( "standard"=>1, "active"=>1, "instock"=>1, "ordernumber"=>"test123", "group1" => "farbe", "option1" => "grün", "group2" => "größe", "option2" => "l", "prices" => array(array("pricegroup"=>"H","net_price"=>10.10),array("pricegroup"=>"EK","net_price"=>10.10)), //... ), array ( "active"=>1, "instock"=>1, "ordernumber"=>"test124", "group1" => "farbe", "option1" => "blau", "group2" => "größe", "option2" => "xl", "prices" => array(array("pricegroup"=>"H","net_price"=>10.10)), ) ) ); $import->sArticleConfigurator (array("articleID"=>5028), $article_configurator);
sArticleCrossSelling
function sArticleCrossSelling (string/int/array $article, array $relatedarticleIDs)
| Erklärung | Ordnet einem Artikel einen oder mehrere Cross-Selling-Artikel zu (Zubehör-Artikel) |
|---|---|
| Parameter $article |
|
| Parameter $relatedarticleIDs | Array der Zubehörbestellnummern |
| Rückgabe | bool |
| Werte | true=erfolgreich; false=fehlgeschlagen |
Code-Beispiel:
//Artikel mit den Bestellnummern SW2827 und SW2820 dem Artikel 5028 (s_articles.id) //als Zubehör-Artikel hinzufügen $import->sArticleCrossSelling(5028, array("SW2827", "SW2820"));
sArticleDownload
function sArticleDownload (array $article_download)
| Erklärung | Verwaltung von Downloadartikeln |
|---|---|
| Parameter $article_download |
Notwendige und optionale Felder:
|
| Rückgabe | int |
| Werte | Id des zuletzt eingefügten Downloads (s_articles_downloads.id) |
Code-Beispiel:
$import->sArticleDownload (array("articleID" => 54, "name"=>"testdatei", "description" => "Download-Datei", "unlink"=>1));
sArticleImage
Hinweis: Die Bilder werden in der Tabelle s_articles_img gespeichert
function sArticleImage (array $article_image)
| Erklärung | Kopiert das Bild auf den Server, erzeugt die notwendigen Thumbnails und erstellt die Datenbank-Einträge in s_articles_img |
|---|---|
| Parameter $article_image | Array mit den Daten des Bildes
|
| Rückgabe | bool |
| Werte | true = erfolgreich; false = fehlgeschlagen |
Code-Beispiel:
//Bild für den Artikel (s_articles.id = 5028) hochladen $image = array("articleID"=>5028,"image"=>"/pfad/zum/bild/test.jpg"); $import->sArticleImage($image);
oder Remote-Bild laden:
//Bild für den Artikel (s_articles.id = 5028) hochladen $image = array("articleID"=>5028,"image"=>$api->load("http://www.test.de/test.jpg")); $import->sArticleImage($image);
sArticleImages
Hinweis: Die Bilder werden in der Tabelle s_articles_img gespeichert
function sArticleImages (string/int $article, array $images)
| Erklärung | Importiert mehrere Bilder in einem Step (Ruft intern sArticleImage auf) |
|---|---|
| Parameter $article | Eindeutige Zuordnung des Artikels zu dem Bilder importiert werden sollen
|
| Parameter $images | Array mit den zu importierenden Bildern
|
| Rückgabe | bool |
| Werte | true = erfolgreich; false = fehlgeschlagen |
Code-Beispiel:
//Bilder für den Artikel (s_articles.id = 5028) hochladen $images = array( array("image"=>"http://www.myserver.de/test1.jpg"), array("image"=>"http://www.myserver.de/test2.jpg") ); $import->sArticleImages(5028,$images);
sArticleLink
function sArticleLink (array $article_link)
| Erklärung | Ordnet einem Artikel einen Links zu |
|---|---|
| Parameter $article_link |
|
| Rückgabe | int |
| Werte | Id der zuletzt eingefügten Link-Information (s_articles_information.id) |
Code-Beispiel:
$import->sArticleLink (array( "articleID" => "SW_287364", "link"=>"http://www.meinedomain.de/info", "description"=>"Link zur Info-Seite" ));
sArticlePrice
function sArticlePrice (array $price)
| Erklärung | Legt den Preis eines Artikels fest. Hierbei werden Kundengruppen, sowie Netto- und Bruttopreise berücksichtigt. |
|---|---|
| Parameter $price | Notwendige und optionale Felder:
Zusätzlich muss einer der folgenden Schlüssel übergeben werden:
|
| Rückgabe | int |
| Werte | Id des zuletzt eingefügten Preises > s_articles_prices.id |
Code-Beispiel:
$price= array("ordernumber"=>"SW_72638", "price"=>7.90, "pricegroup"=>"H", "from"=>1, "tax"=>19); $import->sArticlePrice ($price);
sArticlePrices
function sArticlePrices (array $article, array $prices)
| Erklärung | Legt mehrere Preise eines Artikels fest. Hierbei werden Kundengruppen, sowie Netto- und Bruttopreise berücksichtigt. |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Parameter $prices | Notwendige und optionale Felder:
|
| Rückgabe | bool |
| Werte | true = erfolgreich; false = fehlgeschlagen |
Code-Beispiel:
$article = array("ordernumber"=>"SW_72638"); $prices = array( array("price"=>10, "pseudoprice"=>14.99, "from"=>1, "tax"=>19), array("price"=>7.40, "from"=>10, "tax"=>19), array("price"=>7.90, "pricegroup"=>"H", "from"=>1, "tax"=>19), array("price"=>4.90, "pricegroup"=>"H", "from"=>10, "tax"=>19) ); $import->sArticlePrices ($article, $prices);
sArticleSimilar
function sArticleSimilar (string/int/array $article, array $relatedarticleIDs)
| Erklärung | Ordnet einem Artikel einen oder mehrere Cross-Selling-Artikel zu (Ähnliche Artikel) |
|---|---|
| Parameter $article |
|
| Parameter $relatedarticleIDs | Bestellnummern der Artikel, die als "Ähnliche Artikel" hinzugefügt werden sollen |
| Rückgabe | bool |
| Werte | true=erfolgreich; false=fehlgeschlagen |
Code-Beispiel:
//Artikel mit den Bestellnummern SW2827 und SW2820 dem Artikel 5028 (s_articles.id) //als Ähnliche-Artikel hinzufügen $import->sArticleSimilar (array("articleID"=>5028), array("SW2827", "SW2820"));
sArticleStock
function sArticleStock (array $article_stock)
| Erklärung | Aktualisiert die Lagerbestände |
|---|---|
| Parameter $article_stock |
Notwendige und optionale Felder:
Zusätzlich muss einer der folgenden Schlüssel übergeben werden:
|
| Rückgabe | bool |
| Werte | true=erfolgreich; false=fehlgeschlagen |
Code-Beispiel:
$import->sArticleStock (array("articleID" => 8237, "instock"=>55, "stockmin"=>100));
sCategory
function sCategory (array $category)
| Erklärung | Importiert und gleicht eine Kategorie ab |
|---|---|
| Parameter $category |
Notwendige und optionale Felder:
|
| Rückgabe | int |
| Werte | Id der importierten/abgeglichenden Kategorie (s_categories.id) |
Code-Beispiel:
// from csv: $article_data["categorie_1"] = 'EinzelküchenschränkeSerie Rapido 50er Tiefe' // Main category is extract by the database table s_category $maincategory = 3; $currentcategory = $maincategory; foreach (explode("",$article_data["categorie_1"]) as $category) { $currentcategory = $import->sCategory(array("description"=>$category,"parent"=>$currentcategory)); } //Result: s_categories //3 1 Deutsch 0 //1000 3 Einzelküchen 1 //1001 1000 schränke 2 //1002 1001 Serie Rapido 50er Tiefe 3
Code-Beispiel 2:
$maincategory = $import->sCategory(array("description"=>"Deutsch")); $article = array("articleID"=>123,"category_1"=>"Spiele", "category_2"=>"PS3", "category_3"=>"Action"); //Kategoriebaum einlesen: $currentcategory = $maincategory; for ($i=1;!empty($article["category_$i"]);$i++) { $currentcategory = $import->sCategory( array( "description"=>$article["category_$i"], "parent"=>$currentcategory ) ); }
sCustomer
function sCustomer (array $customer)
| Erklärung | Legt User an bzw. gleicht vorhandene ab. Hierbei werden Liefer-/ und Rechnungsadresse, sowie Newsletter-Einträge berücksichtigt. Wenn lediglich die eMail-Adresse des Kunden übergeben wird und diese noch nicht vorhanden ist, wird der User neu angelegt. Kann anhand der userID bzw. eMail-Adresse der Kunde ausfindig gemacht werden, so findet eine Aktualisierung statt. |
|---|---|
| Parameter $category |
Notwendige und optionale Felder:
|
| Rückgabe | array |
| Werte |
|
sDeactivateArticle
function sDeactivateArticle (array $article)
| Erklärung | Deaktiviert einen Artikel |
|---|---|
| Parameter $article | Es muss einer der folgenden Schlüssel übergeben werden:
|
| Rückgabe | int |
| Werte | Id des zuletzt deaktiviertem Artikels (s_articles_details.id) |
Code-Beispiel:
$import->sDeactivateArticle (array("articleID" => 562));
sOrder
function sOrder (array $order)
| Erklärung | Aktualisiert eine oder mehrere Bestellungen |
|---|---|
| Parameter $order |
Zu aktualisierende Bestellungen definieren:
Optionale Felder:
|
| Rückgabe | bool |
| Werte | true=erfolgreich; false=fehlgeschlagen |
Code-Beispiel:
//Aktualisierung über die OrderID $orderData = array( "orderID"=>234, "statusID"=>3, "comment"=>"Neuer Kommentar" ); //Aktualisierung über mehrere OrderIDs $orderData = array( "orderIDs"=>array(234, 514, 251), "statusID"=>3, "comment"=>"Neuer Kommentar" ); //Aktualisierung über die Bestellnummer $orderData = array( "ordernumber"=>"SW_82618", "statusID"=>3, "comment"=>"Neuer Kommentar" ); $import->sOrder ($orderData);
sRepairArticleCategories
function sRepairArticleCategories ()
| Erklärung | Repariert die Artikel-Kategorie-Zuordnung, auf der Basis des Inhalts. |
|---|---|
| Rückgabe | void |
Code-Beispiel:
//Speichert alle Kategorien temporär, leert die Tabelle s_articles_categories und erstellt sie erneut $import->sRepairArticleCategories ();
sSupplier
function sSupplier (array $supplier)
| Erklärung | Erweitert die Hersteller-Tabelle um $supplier, falls dieser nicht bereits angelegt wurde. |
|---|---|
| Parameter $supplier |
|
| Rückgabe | int |
| Werte | Id des zuletzt erstelltem Herstellers (s_articles_supplier.id) |
Code-Beispiel:
$import->sSupplier (array( "supplier" => "HerstellerName", "link" => "http://www.herstellerName.de", "image" => "HerstellerName.jpg"));
sTranslation
Hinweis: Wenn der Parameter $data nicht gesetzt wird, werden die relevanten Übersetzungen entfernt.
function sTranslation (string $type, int $objectkey, string $language, array $data)
| Erklärung | Diese Methode übersetzt verschiedene Elemente in der Datenbank wie Artikel, Varianten, Links, Downloads |
|---|---|
| Parameter $type | Element Typ |
| Parameter $objectkey | Unique ID, auf die sich der Typ bezieht (s_core_translations.objectkey) |
| Parameter $language | ISO Länderkürzel |
| Parameter $data | Übersetzungsdaten (sind abhängig vom Element Typ)
Schlüsselabweichungen des Arrays $data in Abhängigkeit des Typs
|
| Rückgabe | int |
| Werte | Id der zuletzt erstellten / bearbeiteten Übersetzung (s_core_translations.id) |
Code-Beispiel:
$type = "article"; $key=358; $language = "en" $data = array ( "name" => "Testartikel", "description"=> "Artikelbeschreibung..", "additionaltext" => "Standardartikel" …); $import->sTranslation($type, $key, $language, $data);
Hilfsmethoden
sReadDir
function sReadDir (string $dir)
| Erklärung | Gibt rekursiv die Dateien des Verzeichnisses $dir aus |
|---|---|
| Parameter $dir | Pfad, dessen Inhalt zurückgegeben werden soll |
| Rückgabe | array |
| Werte | Inhalt des Verzeichnisses |
Code-Beispiel:
$files = $import->sReadDir ("../images");
Rückgabebeispiel:
Array
(
[0] => image.2.jpg
[2] => image.3.jpg
[3] => image.1.jpg
)
sValFloat
function sValFloat (string $value)
| Erklärung | Konvertiert $value in eine Fließkommazahl und ersetzt dabei, falls vorhanden, das Komma (,) durch einen Punkt (.) |
|---|---|
| Parameter $value | Zu konvertierende Zahl |
| Rückgabe | float |
| Werte | Konvertierter float |
Code-Beispiel:
$import->sValFloat ("25,84 EUR");
Rückgabe:
25.84
sValDescription
function sValDescription (string $description)
| Erklärung | Bereinigt den übergebenen Wert von Sonderzeichen |
|---|---|
| Parameter $description | Zeichenkette, die bereinigt werden soll |
| Rückgabe | string |
| Werte | Bereinigte Zeichenkette |
sResizePicture
function sResizePicture (resource $image, array $size, integer $new_width, integer $new_height, string $newfile)
| Erklärung | Bild-Konvertierungsfunktion zur Generierung der Artikelbilder – Thumbnails
Berücksichtigt zusätzlich die Höhe des Bildes bzw. das Verhältnis zwischen Höhe und Breite um auch "Hochkant-Bilder" passend skalieren zu können (feste Höhe) |
|---|---|
| Parameter $image | Resource von imagecreatefromjpeg |
| Parameter $size | Array, das von getimagesize generiert wurde |
| Parameter $new_width | Neuer Wert der Bild -Breite für das zu generierende Thumbnails |
| Parameter $new_height | Neuer Wert der Bild-Höhe für das zu generierende Thumbnails |
| Parameter $newfile | Pfad und Bild-Name mit Extension, von dem die Thumbnails generiert werden sollen |
| Rückgabe | void |
Getter
sGetArticleByAttribute
function sGetArticleByAttribute (array $attr)
| Erklärung | Gibt die Artikel ID (s_articles.id), sowie die Artikeldetail ID (s_articles_details.id) anhand Attribut-Suchekreterien zurück |
|---|---|
| Parameter $attr | Abzugleichende Attribute
|
| Rückgabe | array |
| Werte | Artikel und Artikeldetail ID |
Code-Beispiel:
$import->sGetArticleByAttribute (array("attr1"=>"823742", "attr15"=>"DT"));
Rückgabe:
Array
(
[articleID] => 3
[articledetailsID] => 3
)
sGetArticledetailsID
function sGetArticledetailsID (array $article)
| Erklärung | Gibt die Artikeldetail ID durch Übergabe der ArtikelID bzw. Bestellnummer zurück |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an
|
| Rückgabe | int |
| Werte | Artikeldetail ID |
Code-Beispiel:
$import->sGetArticledetailsID (array("ordernumber"=>"SW_3268"));
Rückgabe:
54
sGetArticledetailsIDsByAttribute
function sGetArticledetailsIDsByAttribute (array $attr)
| Erklärung | Gibt die Artikeldetail ID (s_articles_details.id) anhand Attribut-Suchekreterien zurück |
|---|---|
| Parameter $attr | Abzugleichende Attribute
|
| Rückgabe | array |
| Werte | Artikeldetail ID |
Code-Beispiel:
$import->sGetArticledetailsIDsByAttribute (array("attr1"=>"823742", "attr15"=>"DT"));
Rückgabe:
Array
(
[0] => 3
)
sGetArticleID
function sGetArticleID (string/integer/array $article)
| Erklärung | Gibt die Artikeld ID (s_articles.id) anhand der Bestellnummer bzw. Artikeldetail ID zurück |
|---|---|
| Parameter $article | Suchkreterien
|
| Rückgabe | int |
| Werte | Artikel ID (s_articles.id) |
Code-Beispiel:
//Bespiel Bestellnummer $import->sGetArticleID ("SW_7826482"); //Bespiel Artikeldetail ID $import->sGetArticleID (array("articledetailsID"=>72));
Rückgabe:
54
sGetArticleNumbers
function sGetArticleNumbers (array $article)
| Erklärung | Gibt die Artikel und Artikeldetail ID, sowie die Bestellnummer durch Übergabe einer dieser Werte zurück |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an
|
| Rückgabe | array |
| Werte | Artikel und Artikeldetail ID, sowie die Bestellnummer |
Code-Beispiel:
//Beispiel Artikel ID $import->sGetArticleNumbers(array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sGetArticleNumbers(array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sGetArticleNumbers(array("ordernumber"=>"SW1184_5977"));
Rückgabe:
Array
(
[articledetailsID] => 5
[ordernumber] => SW1184_5977
[articleID] => 2
)
sGetCountryID
function sGetCountryID (array $country)
| Erklärung | Liest die ID eines Landes anhand eines Suchmusters aus |
|---|---|
| Parameter $country | Geben Sie einen der folgenden Schlüssel an
|
| Rückgabe | int |
| Werte | ID des Landes (s_core_countries.id) |
Code-Beispiel:
//Beispiel Landesname $import->sGetCountryID(array("name"=>"deutschland")); //Beispiel ISO-Kürzel $import->sGetCountryID(array("iso"=>"de")); //Beispiel Englische Bezeichnung $import->sGetCountryID(array("en"=>"germany"));
Rückgabe:
2
sGetMainArticleID
function sGetMainArticleID (array $article)
| Erklärung | Gibt die Artikeldetail ID des Hauptartikels anhand der Artikel oder Artikeldetail ID bzw. der Bestellnummer zurück |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an
|
| Rückgabe | int |
| Werte | Artikel ID des Hauptartikels |
Code-Beispiel:
//Beispiel Artikel ID $import->sGetMainArticleID (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sGetMainArticleID (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sGetMainArticleID (array("ordernumber"=>"SW1184_5977"));
Rückgabe:
2
Setter
sSetAttribute
function sSetAttribute (array $article, array $attr)
| Erklärung | Trägt die Attribute aus dem Feld $attr des Artikels $article in die Datenbank Tabelle s_articles_attributes ein. |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an
|
| Parameter $attr |
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sSetAttribute (array("articleID"=>2), array("attr1"=>"value1", "attr11"=>"value11")); //Beispiel Artikeldetail ID $import->sGetMainArticleID (array("articledetailsID"=>5), array("attr1"=>"value1", "attr11"=>"value11")); //Beispiel Bestellnummer $import->sGetMainArticleID (array("ordernumber"=>"SW1184_5977"), array("attr1"=>"value1", "attr11"=>"value11"));
Deleter
sDeleteAllArticles
function sDeleteAllArticles ()
| Erklärung | Löscht alle Artikel |
|---|---|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
$import->sDeleteAllArticles ();
sDeleteAllCategories
function sDeleteAllCategories()
| Erklärung | Löscht alle Kategorien |
|---|---|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
$import->sDeleteAllCategories();
sDeleteAllFiles
function sDeleteAllFiles (string $dir, bool $rek=false)
| Erklärung | Löscht alle Dateien eines Verzeichnisses |
|---|---|
| Parameter $dir | Verzeichnispfad |
| Parameter $rek | Gibt an, ob rekursiv gelöscht werden soll (mit Unterverzeichnissen) |
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
$import->sDeleteAllFiles ("../images", true);
sDeleteArticle
function sDeleteArticle (array $article)
| Erklärung | Löscht einen Artikel |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticle (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticle (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticle (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleAttributeGroup
function sDeleteArticleAttributeGroup (array $article)
| Erklärung | Löscht die Eigenschaftszuordnung eines Artikels |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleAttributeGroup (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleAttributeGroup (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleAttributeGroup (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleAttributeGroupValues
function sDeleteArticleAttributeGroupValues (array $article)
| Erklärung | Löscht alle Artikeleigenschaften eines Artikels |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleAttributeGroupValues (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleAttributeGroupValues (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleAttributeGroupValues (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleCache
function sDeleteArticleCache ()
| Erklärung | Löscht alle Cachedateien der Artikel |
|---|---|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
$import->sDeleteArticleCache ();
sDeleteArticleConfigurator
function sDeleteArticleConfigurator(array $article)
| Erklärung | Löscht mehrdimensionale Varianten eines Artikels |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleConfigurator(array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleConfigurator(array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleConfigurator(array("ordernumber"=>"SW1184_5977"));
sDeleteArticleCrossSelling
function sDeleteArticleCrossSelling (array $article)
| Erklärung | Löscht alle bestehenden Cross-Selling Zuordnungen eines Artikels (Zubehör-Artikel) |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleCrossSelling(array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleCrossSelling(array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleCrossSelling(array("ordernumber"=>"SW1184_5977"));
sDeleteArticleDownloads
function sDeleteArticleDownloads (array $article)
| Erklärung | Löscht alle bestehenden Downloads eines Artikels |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleDownloads (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleDownloads (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleDownloads (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleImages
function sDeleteArticleImages (array $article)
| Erklärung | Löscht alle bestehenden Bildzuordnungen eines Artikels und entfernt die Bilddateien |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleImages (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleImages (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleImages (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleLinks
function sDeleteArticleLinks (array $article)
| Erklärung | Löscht alle bestehenden Links eines Artikels (s_articles_information) |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleLinks (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleLinks (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleLinks (array("ordernumber"=>"SW1184_5977"));
sDeleteArticleSimilar
function sDeleteArticleSimilar (array $article)
| Erklärung | Löscht alle bestehenden Cross-Selling Zuordnungen eines Artikels (Ähnliche Artikel) |
|---|---|
| Parameter $article | Geben Sie einen der folgenden Schlüssel an:
|
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteArticleSimilar (array("articleID"=>2)); //Beispiel Artikeldetail ID $import->sDeleteArticleSimilar (array("articledetailsID"=>5)); //Beispiel Bestellnummer $import->sDeleteArticleSimilar (array("ordernumber"=>"SW1184_5977"));
sDeleteCache
function sDeleteCache()
| Erklärung | Löscht alle Cachedateien |
|---|---|
| Rückgabe | void |
Code-Beispiel:
//Beispiel Artikel ID $import->sDeleteCache();
sDeleteCategories
function sDeleteCategories (array $categories)
| Erklärung | Löscht eine oder mehrere Kategorien |
|---|---|
| Parameter $categories | Array mit Kategorie IDs (s_articles_categories.id) |
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Entfernen der Kategorie 53 $import->sDeleteCategories (array(53)); //Entfernen der Kategorien 3, 4 und 23 $import->sDeleteCategories (array(4, 23, 3));
sDeleteEmptyCategories
function sDeleteEmptyCategories ()
| Erklärung | Entfernt Kategorien denen kein Artikel zugewiesen ist |
|---|---|
| Rückgabe | void |
Code-Beispiel:
$import->sDeleteEmptyCategories ();
sDeleteOtherArticleImages
function sDeleteOtherArticleImages (int $articleID, array $images)
| Erklärung | Löscht alle Bilder eines Artikels, die NICHT in $images aufgelistet sind. |
|---|---|
| Parameter $articleID | Artikel ID (s_articles.id) |
| Parameter $images | Array der Image IDs (s_articles_img.id) |
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Entfernen ALLE ANDEREN Bilder des Artikel $import->sDeleteOtherArticleImages (52, array(34, 36)));
sDeleteOtherArticlesCategories
function sDeleteOtherArticlesCategories (int $articleID, array $categoryIDs)
| Erklärung | Löscht alle Kategorie-Zuordnungen eines Artikels, die NICHT in $categoryIDs aufgelistet sind. |
|---|---|
| Parameter $articleID | Artikel ID (s_articles.id) |
| Parameter $categoryIDs | Array der Kategorie IDs (s_articles_categories.id) |
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Entfernen ALLE ANDEREN Kategorien des Artikel $import->sDeleteOtherArticlesCategories (52, array(3, 17)));
sDeleteOtherCategories
function sDeleteOtherCategories (array $categoryIDs)
| Erklärung | Löscht alle Kategorien, die NICHT in $categoryIDs aufgelistet sind. |
|---|---|
| Parameter $categoryIDs | Array der Kategorie IDs (s_categories.id) |
| Rückgabe | bool |
| Werte | 1=erfolgreich; 0=fehlgeschlagen |
Code-Beispiel:
//Entfernen ALLE ANDEREN Kategorien $import->sDeleteOtherCategories (array(23, 17)));
sDeleteTranslation
function sDeleteTranslation (string $type, string $objectkey, string $language)
| Erklärung | Löscht vorhandene Übersetzungen |
|---|---|
| Verweis | Zum Löschen von Übersetzungen kann die Methode sTranslation verwendet werden. Lassen Sie hierfür den Parameter $data aus. |
Artikel bewerten
Kommentare: (1)
Problem importing releasedate as Y-m-d string (AdoDB/Enlight)
While importing the releasedate with sArticle in SW 3.5.5 I got unexpected results providing a Y-m-d string. Solved this by using the UNIX timestamp instead of the Y-m-d string. Problem is obviously related to the handling of the releasedate with DBDate in AdoDB (Enlight).
Artikel kommentieren
Weitere interessante Artikel:
Eigenschaften _COOKIE ''Speicherung der superglobalen $_COOKIE'' _GET ''Speicherung der superglobalen $_GET'' _HASH ''Eindeutiger Bezeichner für diesen Page-Aufruf'' _POST ''Speicherung der superglobalen... [weiterlesen]
Eigenschaften sArticles ''Array der Artikel'' sArtInCat ''Mehrdimensionaler Array - Kategorie IDs -> Artikel IDs'' sArtInSup ''Mehrdimensionaler Array - Hersteller IDs -> Artikel IDs'' sCatChilds... [weiterlesen]
Bevor Sie die API bzw. Ihre Schnittstelle in Live-Anwendungen einsetzen, sollten Sie diese durch Zugriff von außen absichern. Eine Möglichkeit ist die Abfrage des eindeutigen (und zufälligen) Shopware API Schlüssels -... [weiterlesen]
Bestell-Nr.: SW1202
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. +
Versandkosten*
John Doe
22. October 2011 - 16:32 Uhr