Hallo, im Developers Guide steht, dass die alte API weiter nutzbar sein wird: http://wiki.shopware.de/_detail_921_720.html Dort steht auch: “Die “alte” API liegt im Verzeichnis /engine/Shopware/Plugins/Core/Api/Components.” Dieses Verzeichnis gibt es in der 4.0.3 aber nicht. Wenn ich die API wie früher einbinden möchte (/engine/connectors/api/api.php) bekomme ich auch einen Fehler, weil in der api.php auf die nicht mehr vorhandene /engine/Shopware/Shopware.php verwiesen wird. Wo ist mein Denkfehler? Gruß Jo
Hallo, die alte API wurde in ein Standard-Plugin ausgelagert, kann aber so angesprochen werden, wie in dem von dir verlinkten Dokument demonstriert: $api = Shopware()-\>Api()-\>Import();
Du kannst aber weiterhin auch wie gehabt über “import->shopware” auf die API zugreifen - diesbezüglich ist also keine Anpassung notwendig: $api = Shopware()-\>Api(); $import = $api-\>import-\>shopware; $xml =$api-\>convert-\>xml;
lG Daniel
Danke für die schnelle Antwort. Ich muss in meinem Script aber doch erstmal die API includieren. Bisher mit der 3.5 ging das so: require\_once('../engine/connectors/api/api.php');
und anschließend wie beschrieben mit $api = new sAPI(); $import = &$api-\>import-\>shopware;
Wie includiere ich die API mit der 4.x?
Hallo, das Inkludieren ist nicht mehr nötig/veraltet. Ich würde dir empfehlen, wie in „Custom Import“ beschrieben, ein lokales Plugin zu erstellen. Dadurch hast du wie von mir beschrieben über die Shopware-Application-Instanz Zugriff auf die API. Es sind keine Includes nötig. //edit: Die alte API findet sich jetzt übrigens in engine\Shopware\Plugins\Default\Core\Api\Bootsrap.php
Hallo Daniel, vielen Dank für die Info. Wir nutzen hier ein komplett vom Backend losgelöstes selbst entwickeltes PHP Tool, mit dem der Artikelimport erledigt wird und in das wir auch viele andere Funktionen eingebaut haben, die über das Backend zu zeitraubend sind (Artikel aktivieren/deaktivieren usw.). Dort haben wir auch wichtige Infos zur pixi-Datenbank und unseren Payment-Diensten eingebaut und möchten das alles auch gerne weiterhin nutzen. Artikelimport ist bei uns KEIN csv-Import. Wir lesen aus einer XML-Datei des lokalen WWS Artikeldaten ein, bereiten diese für die SW-Struktur (Varianten, Attribute) auf und schreiben dann mit der API in die DB. Das war bisher ein riesiger Pluspunkt für SW. Ein Shopware-Backend-Plugin nutzt mir daher nichts im Moment, ich möchte die API nach wie vor mit einem autarken Script - wie bisher auch - nutzen. Könntest Du mir freundlicherweise schreiben, wie bzw. ob das überhaupt noch möglich ist? Wir werden eventuell später auf die REST-API umsteigen. Vorher will ich aber unbedingt testen, ob die 4.x überhaupt für uns funktioniert und nicht den kompletten Import neu schreiben. Vielen Dank & Gruß Jo
Hallo Jo, über einen Umweg über einen Frontend- oder Backend-Controller dürfte das möglich sein, sowas ähnliches wurde hier schonmal diskutiert, ein einfaches Beispiel findet sich dort auch. Schau dir das mal an. lG Daniel
[quote=“Daniel Nögel”]Hallo, das Inkludieren ist nicht mehr nötig/veraltet. Ich würde dir empfehlen, wie in “Custom Import” beschrieben, ein lokales Plugin zu erstellen. Wo kann ich das “Custom Import” finden?
Hey Billiboy, schau mal hier http://wiki.shopware.de/_detail_921.html Gruß Patrick
OOHHHH vielen Dank… Warum findet man so etwas nirgends wenn man danach sucht? Habs mal getestet, dabei ist mir aufgefallen, das ich jeden Wert in der csv in „“ setzen muss. Warum jenes, der Shop exportiert auch ohne. Kann man das irgendwo abstellen, denn ich bekomme meine csv ohne „“. Jetzt müsste ich extra welche einfügen. :shock:
*hochschieb* Brauch unbedingt eine Lösung wegen der " in denen die Werte stehen müssen. Hat keiner ne Idee?
hat sich erledigt…