REST-API - Eigene Freitextfelder

Ich habe über ein Plugin Freitextfelder beim Artikel angelegt. Die werden aber weder über die REST-API gefüllt noch ausgegeben.

Was habe ich da übersehen?

Hi,
Ich habe das gleiche Problem am letzten Tag. Ich ließ ein Freitextfeld von einem Plugin erstellen. Ich muss Werte über die REST-API einfügen. 

Mein Freitextfeld hatte einen Namen wie my_free_text_field. Aber ich konnte keinen Wert darauf legen. Dann habe ich ein neues Textfeld mit dem Namen myfreetextfield erstellt und versucht, einen Wert in dieses Feld einzufügen. Und es hat perfekt funktioniert. 

Aber trotzdem muss ich Wert in das Attribut namens my_free_text_field einfügen. Also starte ich eine einfache Abfrage in der Datenbank. Und alle Werte in das Freitextfeld myfreetextfield -> my_free_text_field verschoben.

UPDATE s_articles_attributes SET my_free_text_field = myfreetextfield WHERE myfreetextfield != ‘’’.
( Abfragen auf eigene Gefahr durchführen ;)) )

Wenn Du das schon so machen willst, dann erstell mehrere DB-Trigger (onInsert, onUpdadate und onDelete) dann geht das quasi von alleine.

Aber das ist keine Lösung, die mir gefällt. Das muss auch sauber gehen.

Wie genau übertragt ihr das Feld denn?
Die Attribute werden in CamelCase übertragen. Mein Attribut heißt bspw. “aasa_asas_asas” und wird in der API als “aasaAsasAsas” übertragen. 

Das einfachste ist immer, erstmal zu schauen wie der Shop die Attrribute denn exportiert. Also einfach im Browser über /api/articles/ID einen Artikel aufrufen und dann schauen wie das Feld im JSON heißt. Alles was mit Doctrine zu tun hat, ist i.d.R. CamelCase und nicht snake_case.

2 Likes

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ Ja, das hat gut funktioniert. Danke für die Lösung. Ich habe camelCase im Importcode verwendet.