API - Category immer 2x in der DB (?)

Ahoy hoy :slight_smile: ich beschäftige mich derzeit mit der API und habe hier ein Syndrom, dessen Ursache sich mir nicht erschliesst… wenn ich via API eine neue Kategorie aufnehme, ist sie IMMER zwei mal drin … oO Mein Vorgehen, bzw. Code, ist ganz simple… Das Parameter-Array: $category\_param = array( 'name' =\> 'sfsdfsdfsdfsdf', 'parentId' =\> 3, 'active' =\> true, 'blog' =\> false, 'external' =\> '', 'hideTop' =\> false, 'noViewSelect' =\> true, 'showFilterGroups' =\> true, 'hideFilter' =\> false, 'template' =\> 'article\_listing\_1col.tpl', 'cmsHeadline' =\> 'Überschriftsdfsdf', 'cmsText' =\> 'Beschreibungsfsdf', 'metaDescription' =\> 'Beschreibungsdfsdf', 'metaKeywords' =\> 'Keyword1,Keywords2', 'attribute' =\> array( 'attribute1' =\> '', 'attribute2' =\> '', 'attribute3' =\> '', 'attribute4' =\> '', 'attribute5' =\> '', 'attribute6' =\> ''), ); … dann (ich weiss… irgendwie kindisch aber zur Fehlersuche sollte es reichen) überprüfen, ob bereits eine Kategorie mit demselben Namen bereits vorhanden ist: $category\_all = $client-\>get('categories'); $categoryCheck = false; foreach($category\_all['data'] as $category\_item) { if($category\_item['name'] == $category\_param['name']) { $categoryCheck = true; } } wenn nicht… sende POST an die API [code]if($categoryCheck === false) { $client->post(‚categories‘,$category_param); echo "NEW CATEGORY ADDED

"; } else { echo „Category already exists“; }[/code] tjoa… einmal aufgerufen und zack, Kategorie doppelt in der DB mit fortlaufender ID …oO kann mir jemand auf die Sprünge helfen? LG

weiss wirklich keiner Rat? :frowning: trödel jetzt schon 2 tage an dem problem, doch egal was ich mache… es hat immer denselben effekt.

Guten Morgen GeneralError, konnte den Fehler nicht Nachstellen in der aktuellen Shopware Version. Überprüf am besten mal auf einer anderen Shopware Installation deinen API-Call. Gruß, Simon

Hallo Simon, also ich habe das jetzt auf einer anderen Maschine in SW 4.3.2 gegengetestet (normalerweise arbeite ich mit 5.0.3)… mit dem selben Resultat :confused: $category\_param = array( 'name' =\> 'NEUKAT', 'parentId' =\> 1000, 'active' =\> true ); // check if already exists $category\_all = $client-\>get('categories'); $categoryCheck = false; foreach($category\_all['data'] as $category\_item) { if($category\_item['name'] == $category\_param['name']) { $categoryCheck = true; } } if($categoryCheck === false) { $catResult = $client-\>post('categories',$category\_param); echo "NEW CATEGORY ADDED - ID: ".$catResult['data']['id']; } else { echo "Category already exists"; } irgendwo habe ich aufgeschnappt, man muss die ShopID mitgeben, aber kann nihcts im Web dazu finden(?) bin echt ratlos… kannst Du mir ein bei dir funktionierenden Snippet posten? Lg

Hey GeneralError, da es um die 4.3.2 geht war dein Thema im falschen Forum und konnte so auch nicht korrekt beantwortet werden, habe es ins Shopware 4 Forum verschoben. :wink: In der 4.3.2 konnte ich auch keinen Fehler feststellen da muss wohl etwas an deinem System nicht korrekt funktionieren. Mit freundlichen Grüßen, Simon

also der gleiche kram funktioniert auf der 4.3.2 und 5.0.3 mit dem selben syndrom… die beiden installationen laufen auf zwei verschiedenen kisten… Lg

Hi, wie viele Kategorien hast du im System? Das GET hat by default ein Limit von 1000(?). Daniel Gesendet von meinem SM-N910F mit Tapatalk

hi daniel, also die installation ist blanko… sprich es gibt nur die root, deutsch und englisch.

mittlerweile teste ich auf 3(!!) verschiedenen instanzen, auf 3 verschiedenen servern… 1 api-call --> $category\_param = array( 'name' =\> 'sfsdfsdfsdfsdf', 'parentId' =\> 3 ); $client-\>post('categories',$category\_param); erstellt 2x (ZWEI MAL!) die selbe kategorie in der DB … WAS IST DA LOS???