Le immagini del prodotto non vengono visualizzate nonostante i ruoli immagine Modifica prodotto

Questo articolo corregge alcuni casi in cui le immagini del prodotto non vengono visualizzate nella vetrina, nonostante i ruoli impostati nella pagina di modifica del prodotto.

Causa: nelle istanze di Adobe Commerce con più archivi, alcune immagini di prodotto potrebbero avere i valori no_selection per gli attributi del ruolo immagine image, small_image, thumbnail, swatch. Tali valori no_selection emergono quando il ruolo dell'immagine prodotto è impostato sull'ambito globale di tutti gli archivi anziché sull'ambito di un particolare archivio (in altre parole, su Tutte le visualizzazioni archivio invece di un particolare Visualizzazione archivio). Per capire se è questo il tuo caso, esegui lo script SQL dalla sezione Causa seguente.

Soluzione: eliminare le righe con i valori no_selection per tali immagini utilizzando lo script SQL dalla sezione Soluzione seguente.

Versioni interessate

  • Adobe Commerce on-premise 2.X.X
  • Adobe Commerce sull’infrastruttura cloud 2.X.X

Problema

Le immagini del prodotto potrebbero non essere visualizzate nella vetrina, anche se i ruoli immagine (Base, Piccola, Miniatura, Campione) sono stati impostati correttamente nella pagina Prodotto del pannello Amministratore.

Quando si controlla la pagina Prodotti con Visualizzazione store impostata su Tutte le visualizzazioni store, i ruoli dell'immagine sono impostati nella schermata Dettagli immagine.

all_store_views.png

ruoli_immagine.png

Nella vetrina, tuttavia, l'immagine non viene visualizzata. Quando si controlla la pagina Prodotti nel particolare livello di store (passando alla visualizzazione store), l'immagine è presente ma i ruoli non sono impostati.

image_roles_not_set.png

Causa

Nelle istanze Adobe Commerce multischermo (con più store), alcune immagini di prodotto potrebbero avere i valori no_selection per gli attributi image, small_image, thumbnail, swatch (questi attributi corrispondono ai ruoli immagine). Tali valori no_selection emergono quando il ruolo dell'immagine prodotto è impostato sull'ambito globale di tutti gli archivi anziché sull'ambito di un particolare archivio (in altre parole, su Tutte le visualizzazioni archivio invece di un particolare Visualizzazione archivio).

Tecnicamente parlando: in store_id=0 (che contiene le impostazioni globali per tutti gli archivi nell'istanza Adobe Commerce), i ruoli dell'immagine del prodotto potrebbero essere impostati: ciò significa che gli attributi image, small_image, thumbnail, swatch hanno valori validi (percorso delle immagini). Allo stesso tempo, in store_id=1 (che è una particolare rappresentazione dell'archivio), i valori per questi attributi sono no_selection.

Come verificare che sia il tuo problema

Esegui questa query SQL:

SELECT `cpev_s`.*, `cpev_0`.`value` AS `store_value` FROM `catalog_product_entity_varchar` `cpev_s` JOIN `eav_attribute` `ea` ON `cpev_s`.`attribute_id` = `ea`.`attribute_id` LEFT JOIN `catalog_product_entity_varchar` `cpev_0` ON `cpev_0`.`row_id` = `cpev_s`.`row_id` AND `cpev_0`.`attribute_id` = `cpev_s`.`attribute_id` AND `cpev_0`.`store_id` = 0 WHERE `cpev_s`.`value` = 'no_selection' AND `ea`.`attribute_code` IN ('image', 'small_image', 'thumbnail') AND `cpev_s`.`store_id` > 0 AND `cpev_s`.`value` != `cpev_0`.`value` AND `cpev_s`.`value` = 'no_selection';

Se la query restituisce un risultato come quello riportato di seguito, si sta affrontando il problema documentato in questo articolo:

+----------+--------------+----------+--------+--------------+----------------------------+
| value_id | attribute_id | store_id | row_id | value        | store_value                |
+----------+--------------+----------+--------+--------------+----------------------------+
|    67722 |           87 |        1 |    481 | no_selection | /3/5/355sss1_main.jpg      |
|    67723 |           88 |        1 |    481 | no_selection | /3/5/355sss1_main.jpg      |
|    67724 |           89 |        1 |    481 | no_selection | /3/5/355sss1_main.jpg      |
|    67814 |           87 |        1 |    503 | no_selection | /s/k/skb2031_main.jpg      |
|     6769 |           87 |        2 |    503 | no_selection | /s/k/skb2031_main.jpg      |
|    67815 |           88 |        1 |    503 | no_selection | /s/k/skb2031_main.jpg      |
|     6770 |           88 |        2 |    503 | no_selection | /s/k/skb2031_main.jpg      |
|    67816 |           89 |        1 |    503 | no_selection | /s/k/skb2031_main.jpg      |
|     6771 |           89 |        2 |    503 | no_selection | /s/k/skb2031_main.jpg      |
+----------+--------------+----------+--------+--------------+----------------------------+
9 rows in set (0.06 sec)

Perché succede?

Se l’applicazione Adobe Commerce dispone di più archivi, è possibile che non sincronizzi i dati tra un particolare archivio e le impostazioni dell’archivio globale.

I valori su store_id=1 hanno priorità maggiore dell'archivio predefinito (globale) (store_id=0). Pertanto, l'applicazione potrebbe ignorare le impostazioni globali dell'immagine e utilizzare la configurazione dell'ambito di archiviazione (no_selection per gli attributi del ruolo immagine) durante la visualizzazione di un'immagine.

Soluzione solution

Eliminare gli attributi con i valori no_selection utilizzando questo script SQL:

DELETE `cpev_s`.* FROM `catalog_product_entity_varchar` `cpev_s` JOIN `eav_attribute` `ea` ON `cpev_s`.`attribute_id` = `ea`.`attribute_id` LEFT JOIN `catalog_product_entity_varchar` `cpev_0` ON `cpev_0`.`row_id` = `cpev_s`.`row_id` AND `cpev_0`.`attribute_id` = `cpev_s`.`attribute_id` AND `cpev_0`.`store_id` = 0 WHERE `cpev_s`.`value` = 'no_selection' AND `ea`.`attribute_code` IN ('image', 'small_image', 'thumbnail') AND `cpev_s`.`store_id` > 0 AND `cpev_s`.`value` != `cpev_0`.`value` AND `cpev_s`.`value` = 'no_selection';

Una volta rimossi questi attributi, vengono impostati i ruoli per archivi particolari e le immagini vengono visualizzate nella vetrina.

Dettagli aggiuntivi

Se nell’istanza Adobe Commerce è abilitata la cache a pagina intera, non potrai visualizzare immediatamente i risultati della correzione.

Per visualizzare le modifiche, aggiorna la cache delle pagine utilizzando il menu Gestione cache del pannello di amministrazione.

Ulteriori informazioni

Archivi e ambiti

Memorizza e archivia gli ambiti nella guida utente

Immagini

Caricamento immagini prodotto nella guida utente

Cache

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a