Zugriff auf Tabelle s_articles_img_attributes

Hello Community…

Im aktuellen Projekt habe ich für unsere Produkte jeweils mehrere Produktbilder,welche über ein Plugin-Command eingelesen werden.

Um auswählen zu können, welche davon in der Produkt-Detail-Ansicht angezeigt werden, möchte ich ein Boolean-Flag setzen, welches beim Import der Bilder gesetzt wird und nacher im Backend über Artikel/Übersicht/Artikeldetail/Bilder als Freitextfeld-Checkbox editierbar sein soll.

Hierzu erscheint mir ein Boolean-Freitextfeld in der Tabelle s_articles_img_attributes die beste Wahl. Das zusätzliche Attribut ist in der Tabelle bereits angelegt.

Wie kann ich nun also beim Image-import die Verknüpfung von imageID und dem zusätlichen Boolean-Flag setzen?
Oder anders gefragt: Wie schreibe ich Zeilen in die s_articles_img_attributes ohne direkte SQL-Anfragen zu verwenden?

Gruß und Dank im voraus,
Peter_Steel

Du möchtest Bilder dem Artikel zuweisen, aber sie beim Artikel in Frontend dann wahlweise nicht anzeigen?

Ja genau. Die anderen Bilder werden in anderem Kontext (z.B. SERP-Listing) verwendet - gehören also trotzdem zum Produkt.
Das Boolean-Flag soll anzeigen, ob es bei der Detailseite auftaucht oder eben nicht.

Ich sehe leider keine Beispiele dafür, wie man Bildattribute mitsendet, in der Doku: REST API - Examples using the article resource

 

Zum Import der Produkte verwenden wir eine ArticleFactory.php.

Darin werden u.a. die Produktbilder an die Produkte anghängt:

_$articleData['images'] = [[ 'mediaId' =\> $default\_image1\_id, 'attribute' =\> ['myUseImageOnDetailpage' =\> **false**] ], ['mediaId' =\> $default\_image2\_id, 'attribute' =\> [ 'myUseImageOnDetailpage' =\> **true**] ] ];_

Dabei ist myUseImageOnDetailpage die Spalte in der Tabelle s_articles_img_attributes, welche das Flag beinhaltet.

Läuft!

1 „Gefällt mir“

Für Import von zwei Attributen knallt :

_$articleData['images'] = [[ 'mediaId' =\> $default\_image1\_id, 'attribute' =\> ['myUseImageOnDetailpage' =\> **false**], 'attribute' =\> ['myUseAnotherImageOnDetailpage' =\> **false**] ], ['mediaId' =\> $default\_image2\_id, 'attribute' =\> [ 'myUseImageOnDetailpage' =\> **true**], 'attribute' =\> ['myUseAnotherImageOnDetailpage' =\> **false**] ] ];_

 

Datenfelder werden alle auf „null“ gesetzt… Warum?
(PHP-Storm nörgelt wegen identischer Attribut-bezeichner…)