Zusatzfelder über API setzen

Hallo,

ich habe das Problem das sich selbst definierte Zusatzfelder nicht über die API setzen lassen.

$article = array(
    'name' => 'Artikel Titel',
    'active' => true,
    'tax' => 19,
    'supplier' => 'shop',
    'categories' => array(
        array('id' => 6)
    ),
    'mainDetail' => array(
        'number' => 'A' . rand(1,9999),
        'inStock' => 10,
        'prices' => array(
            array(
                'customerGroupKey' => 'EK',
                'price' => '50.50',
            )
        ),
        'attribute' => array(
            'format' => 'CD',
            'condition' => 'new',
            'label' => 'Label'
        )
    )
);

$client->post('articles', $article);

Der Artikel ist da aber die Zusatzsfelder sind alle leer. Ich habe auch schon versucht das „attribute“ Array ausserhalb von „mainDetail“ zu setzen.

Die Shopware Version ist 5.1.2.

Hat jemand eine Idee?

Hallo nexxo,

hast du die neuen Attribute denn in der Datenbank vorliegen?

Im Standard, wenn du in verfügbare Felder/Attribute speichern möchtest, dann müssen diese den Namen attr1 bis attr20 besitzen. Die gibt es bereits in der Datenbank.

Sebastian

OK, danke für die schnelle antwort, ich habe die Namen der Zustatzfelder wieder auf attr1 usw. geändert, so geht es jetzt.

Soweit ich gesehen habe, sind die in der Datenbank unter “s_core_snippets” gespeichert. Würde es also reichen wenn ich dort neue Einträge erzeuge um Zusatzfelder mit eigenen Namen zu speichern?

Passt zwar nicht ganz zu der Ursprungsfrage, aber wenn ich ein Artikel über die API Eintrage wird er nicht im Frontend angezeigt. Erst wenn ich im Backend bei dem Artikel 1 mal auf speichern geklickt habe wird er im Frontend angezeigt.

Edit:

Hat sich erledigt, unter mainDetail hat noch ‘active’ => true gefehlt.