Vorschaubild per API definieren

Hallo,

leider schaffe ich es nicht ein Vorschaubild beim Erstellen bzw. Aktualisieren der Artikel per API zu definieren.

Ich versuche über die Ressource Articles das Image per mediaId und main=1 als Vorschau zu definieren.

“images”:[{“main”:1,“mediaId”:6061}],

Leider funktioniert das nicht wie gewünscht. Hat mir jemand einen Tipp?

Danke.

 

Über welche Api schickst du das? Put auf api/article ?

Die images haben in Verbindung mit den Artikeln alle noch eine eigene ID, ich denke mal, dass du die Bilder in deinem Fall darüber ansprechen müsstest und nicht über die mediaID.

[ 
   "images" => [
         "id" => $id,
         "main" => 1,
   ]
]

Würde ich mal so versuchen.

Danke für deine Antwort.

Ja ich mache einen put auf die api/article resource.

Ok kannst du mir sagen wie ich an die Id komme? Ich habe nur die MediaIds zu den Bildern, da ich diese über die api/media resource angelegt habe.

Ah okay, das hatte ich falsch verstanden - Ich ging davon aus, dass die Bilder dem Artikel zumindest schon zugeordnet wurden und nur noch umgestellt werden soll, welches Bild als Vorschau definiert wird.

Um Bilder hinzuzufügen muss man glaube ich zumindest den Link angeben (zumindest war das bei mir immer so). Demnach mal versuchen die Api über api/media/[mediaID] aufzurufen und dort die URL herauszunehmen.

Danach dein Put mit folgender Struktur abschicken:

array(
   'images' => [ 
         [
           [
           'mediaId' => $mediaID,
           'link' => $url,
           'main' => 1
           ]
         ]
   ]
)

Sieht bisschen verwurschtelt aus mit den ganzen arrays, aber so (zumindest ohne das main) funktioniert das bei mir bislang ohne Probleme.

 

Einfach mal ausprobieren ~

 

1 „Gefällt mir“

Habe das gerade so probiert. Leider funktioniert es noch nicht.

Die Zuordnung funktioniert nur leider wird das Bild nicht als Vorschau defniert.

Wenn ich das Bild nicht als Vorschau definiert bekomme erhalte ich in der Artikelübersicht immer unter der Spalte Info dass kein Bild zum Artikel vorhanden sei.

Du kannst ja in der DB (s_articles_img) mal schauen, ob beim Artikel das Feld “main” auch aktiv ist - da sollte eine “1” stehen.

Warte mal… das Icon besagt doch bloss, dass der Artikel angeblich noch gar keine Bilder hat wenn ich mich nicht irre…?

Wie gesagt legen wir unsere Grafiken ja auch ohne main=1 an und es funktioniert trotzdem ohne Fehlericons.

Wenn du nur das eine Bild hinzufügen möchtest, dann probier es mal mit folgendem Zusatz:

$article= array(
		'__options_images' => array (
			 "replace" => true
		 ),
		'images' => array($HierDeinGrafikArray),		
);

$erg = $client->put("articles/".$tmp_artikel_number."?useNumberAsId=true", $article);

 

Sorry für die späte Rückmeldung.

Ich habe nun bemerkt das ich die Zuweisung der MediaId unter mainDetails gemacht hatte. Die Zuweisung des Bildes ging trotzdem aber der Parameter main=1 ging nicht. Außerhalb von mainDetails klappt es nun auch mit dem main Parameter.

Danke für die Hilfe.