# \[GELÖST\] Filter/Eigenschaften via API importieren

**URL:** <https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [19. November 2012 um 13:26 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949 "2012-11-19T13:26:24Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [19. November 2012 um 13:26 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/1 "2012-11-19T13:26:24Z")

</div>

Hallo, ich möchte gerne per (lokalem) API Filtergruppen und -Werte anlegen. Leider finde ich keine Beispiele oder Dokumentation zum Aufbau des Arrays, das ich dann in -\>create() übergebe. Folgender Code legt zwar die Filtergruppe an - aber wie kann ich die Optionen und Werte anlegen? ` $propResource = \Shopware\Components\Api\Manager::getResource('PropertyGroup'); $themen = array( "name" =\> "Themen", "option" =\> array( "name" =\> "thema 1", ), ); $obj = $propResource-\>create($themen); ` Vielen Dank! Nils

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [19. November 2012 um 15:40 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/2 "2012-11-19T15:40:14Z")

</div>

Hallo, hallo, nur die Gruppen werden über die „propertyGroup“ Ressource angelegt. Alles andere läuft über den Artikel: `$addPropertyGroup = array( 'filterGroupId' =\> 1, 'propertyValues' =\> array( array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Gelb' ), array( 'option' =\> array('name' =\> "Größe"), 'value' =\> 'XXL' ) ), ); $client-\>call('articles/298', ApiClient::METHODE\_PUT, $addPropertyGroup); ` Damit würdest du jetzt bspw. einen Artikel updaten und die entsprechenden Eigenschaften hinzu fügen. Ich dokumentiere das gleich nochmal etwas besser und teste es dabei auch nochmal - aber grundsätzlich hat sich daran egtl. nix geändert. lG Daniel

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [19. November 2012 um 16:04 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/3 "2012-11-19T16:04:00Z")

</div>

Danke, funktioniert so, ich hatte umgekehrt gedacht: erst alle Werte anlegen - dann zuweisen. Vielleicht noch ein Hinweis für die Nachwelt: Mehrere Eigenschaftswerte können wie folgt zugeordnet werden, die Trennung per „|“ o.ä. scheint nicht zu funktionieren: ` 'filterGroupId' =\> 1, 'propertyValues' =\> array( array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Gelb' ), array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Grün' ), array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Rot' ), ) `

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [19. November 2012 um 16:24 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/4 "2012-11-19T16:24:42Z")

</div>

Hallo, ja, wenn man vom Eigenschaften-Modul im Backend aus denkt, kommt man bei der REST-API etwas durcheinander. 🙂 Ich habe es hier nochmal kurz zusammengefasst: [http://wiki.shopware.de/Rest-API-Tutori … enschaften](http://wiki.shopware.de/Rest-API-Tutorial%5C_detail%5C_861.html#Eigenschaften) Trennzeichen ("|") gibt es in der REST-API meines Wissens nur, wenn die Zeichenketten auch entsprechend in die Datenbank geschrieben werden (wie bei switch\_currencies). Prinzipiell kann man erstmal immer von Arrays ausgehen, weil wir die halt relativ komfortabel wegschreiben können. Besten Gruß, Daniel

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [23. November 2012 um 17:36 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/5 "2012-11-23T17:36:25Z")

</div>

Hallo, das klappt soweit alles ganz gut. Allerdings treten vereinzelt \*mehrere\* gleichnamige Optionen auf - das dürfte doch eigentlich gar nicht auftreten können (siehe [Screenshot](http://db.tt/jkrRUz8N))?! Ich importiere relativ viele Eigenschaftswerte schnell hintereinander, sind da möglicherweise irgendwelche Schreibvorgänge noch nicht ausgeführt? P.S.: Ein ähnliches Verhalten scheint bei Kategorien aufzutreten - ich hole mir in der Importschleife von ca. 1500 zu importierenden Artikeln (lokales 4er API) regelmäßig die Liste aller vorhandenen Kategorien und lege ggf. eine Kategorie neu an, damit ich die entsprechende Kategorie-ID in articleResource-\>create() übergeben kann. Scheinbar sind aber zu diesem Zeitpunkt noch nicht alle Schreibvorgänge verarbeitet, so dass eine (bereits früher in der Schleife angelegte!) Kategorie über categoryResource-\>getList() noch nicht geliefert wird… irgendwann knallt es dann… Wenn es daran liegt: lässt sich dem ORM-Layer irgendwie zwischendrin sagen, dass bitte alle Daten geschrieben werden sollen (auch wenn das zusätzliche Zeit kostet)? Oder irgendein sonstiger Cache? Besten Dank, Nils

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [23. November 2012 um 19:16 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/6 "2012-11-23T19:16:37Z")

</div>

Hallo, Muss ich mir auch Montag ansehen, grundsätzlich suchst du Shopware()-\>Models()-\> flush(). Es kann aber auch sein, dass das beim Iterieren der Varianten passiert, dann kommst du da nicht so einfach dazwischen. Leg am besten ein Ticket unter [jira.shopware.de](http://jira.shopware.de) an, dann geht’s nicht unter.

---

<div class="post-metadata">

**Author:** ![Mathias\_Elbe](https://avatars.discourse-cdn.com/v4/letter/m/ac91a4/32.png) [@Mathias\_Elbe](https://forum.shopware.com/u/Mathias_Elbe)\
**Post date:** [3. Juli 2014 um 11:40 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/7 "2014-07-03T11:40:36Z")

</div>

[quote=“netzperfekt”] Vielleicht noch ein Hinweis für die Nachwelt: Mehrere Eigenschaftswerte können wie folgt zugeordnet werden, die Trennung per “|” o.ä. scheint nicht zu funktionieren: ` 'filterGroupId' =\> 1, 'propertyValues' =\> array( array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Gelb' ), array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Grün' ), array( 'option' =\> array('name' =\> "Farbe"), 'value' =\> 'Rot' ), ) `[/quote] Gilt das nach wie vor in Shopware 4.2.3 / 4.3? Sobald ich die gleiche Option (exakt gleicher Name) mehrfach mit values befülle, erhalte ich im entsprechenden Set 2 Gruppen mit dem gleichen Namen. Dabei bleiben es scheinbar immer genau 2 Gruppen, auch wenn ich 3 oder mehr values übergebe. Im Frontend werden diese Werte allerdings wieder alle in einer Gruppe ausgegeben…

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [3. Juli 2014 um 12:31 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/8 "2014-07-03T12:31:58Z")

</div>

[quote=„Mathias Elbe“] Gilt das nach wie vor in Shopware 4.2.3 / 4.3? Sobald ich die gleiche Option (exakt gleicher Name) mehrfach mit values befülle, erhalte ich im entsprechenden Set 2 Gruppen mit dem gleichen Namen. Dabei bleiben es scheinbar immer genau 2 Gruppen, auch wenn ich 3 oder mehr values übergebe. Im Frontend werden diese Werte allerdings wieder alle in einer Gruppe ausgegeben…[/quote] Ja, mein Plugin mit dem genannten Code funktioniert auch unter 4.2.3 (4.3 noch nicht getestet, dürfte aber klappen). Das von Dir beschriebene Verhalten habe ich auch schon unter 4.1.x festgestellt, es scheint aber in der Praxis keine Auswirkung zu haben. Warum das so ist, erschließt sich mir nicht.

---

<div class="post-metadata">

**Author:** ![Mathias\_Elbe](https://avatars.discourse-cdn.com/v4/letter/m/ac91a4/32.png) [@Mathias\_Elbe](https://forum.shopware.com/u/Mathias_Elbe)\
**Post date:** [3. Juli 2014 um 13:33 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/9 "2014-07-03T13:33:43Z")

</div>

Bei unserem Shop führt das dazu, dass die doppelten Optionen auch doppelt in der Vergleichsliste auftauchen (einmal gefüllt, einmal leer)… Das passiert bei dir auch nicht?

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [3. Juli 2014 um 13:36 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/10 "2014-07-03T13:36:15Z")

</div>

[quote=„Mathias Elbe“]Bei unserem Shop führt das dazu, dass die doppelten Optionen auch doppelt in der Vergleichsliste auftauchen (einmal gefüllt, einmal leer)… Das passiert bei dir auch nicht?[/quote] im backend ist’s doppelt - im frontend nicht!

---

<div class="post-metadata">

**Author:** ![tobiaslang](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@tobiaslang](https://forum.shopware.com/u/tobiaslang)\
**Post date:** [31. Juli 2014 um 09:45 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/11 "2014-07-31T09:45:09Z")

</div>

Gibt es dazu noch einen neuen Lösungsansatz? Habe dieses Verhalten jetzt bei mir in einer 4.2.2 1. API Call mit mehreren Values für eine neue Option -\> Option wird mehrfach angelegt 2. API Call mit einem Value für eine neue Option -\> Option wird einmal angelegt - ab jetzt kann ich beliebig viele Values reinschreiben und die eine Option bleibt die einzige

---

<div class="post-metadata">

**Author:** ![basl0r](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/basl0r/32/15967_2.png) [@basl0r](https://forum.shopware.com/u/basl0r)\
**Post date:** [2. September 2014 um 11:45 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/12 "2014-09-02T11:45:03Z")

</div>

Hallo Zusammen, gelöst ist das Problem ja nicht wirklich, ordentlich ist anders und außerdem ist die Pflege der Eigenschaften so kaum möglich. Da klick man sich ja n Bart wenn mal mehr als 100 Attribute angelegt sind. Das wäre doch mal n Bugfix wert, oder? 🙂 Viele Grüße

---

<div class="post-metadata">

**Author:** ![qwerkopf1](https://avatars.discourse-cdn.com/v4/letter/q/ccd318/32.png) [@qwerkopf1](https://forum.shopware.com/u/qwerkopf1)\
**Post date:** [31. März 2015 um 13:35 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/13 "2015-03-31T13:35:37Z")

</div>

hallo ich stehe vor folgendem problem: ich habe ein kleines script gebaut welches die eigenschaften aus einer CSV-Datei den artikeln zuweist: ` if (($handle = fopen("file.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 10000000, ";", "\"")) !== FALSE) { $num = count($data); $addPropertyGroup = array( 'active' =\> 0, 'filterGroupId' =\> 2, 'propertyValues' =\> array( array( 'option' =\> array('name' =\> $data['3']), 'value' =\> $data['4'] ) ), ); $client-\>call('articles/' . $data['1'] . '?useNumberAsId=true', ApiClient::METHODE\_POST, $addPropertyGroup); $row++; } fclose($handle); } ` der import funktioniert soweit… es werden alle eigenschaften-bezeichnungen werden korrekt beim artikel angelegt. aber hier der fehler: die werte werden nicht der eigenschaft zugewiesen (stehen aber im backend als auswahl zur verfügung)… lediglich die letzte eigenschaft des artikels erhält immer einen wert… ist dies ein shopware-bug oder ein fehler in meinem script?

---

<div class="post-metadata">

**Author:** ![Fuchs](https://avatars.discourse-cdn.com/v4/letter/f/bcef8e/32.png) [@Fuchs](https://forum.shopware.com/u/Fuchs)\
**Post date:** [19. Mai 2015 um 13:53 UTC](https://forum.shopware.com/t/gelost-filter-eigenschaften-via-api-importieren/9949/14 "2015-05-19T13:53:53Z")

</div>

bitte löschen
