Las imágenes de producto no se muestran a pesar de las funciones de imagen de edición de producto

Este artículo proporciona una corrección para los casos en los que las imágenes de producto no se muestran en la tienda, a pesar de las funciones de imagen establecidas en la página Editar producto.

Causa: en instancias de Adobe Commerce con más de un almacén, es posible que algunas imágenes de producto tengan no_selection valores de atributos de rol de imagen image, small_image, thumbnail, swatch. Tales no_selection Los valores de emergen cuando la función de imagen del producto se establece en el ámbito global de todas las tiendas en lugar del ámbito de una tienda en particular (es decir, en la Todas las vistas de tienda en lugar de un en particular Vista de tienda). Para saber si ese es su caso, ejecute el script SQL desde el Causa más abajo.

Solución: eliminar filas con el no_selection para estas imágenes utilizando el script SQL de la sección Solución a continuación.

Versiones afectadas

  • Adobe Commerce local 2.X.X
  • Adobe Commerce en infraestructura en la nube 2.X.X

Problema

Es posible que las imágenes del producto no se muestren en la tienda, aunque las funciones de imagen (Base, Pequeña, Miniatura, Muestra) se hayan configurado correctamente en la página Producto del panel de administración.

Al consultar la página de producto con Vista de tienda establezca en Todas las vistas de tiendas, la imagen tiene los roles establecidos en la Detalle de imagen pantalla.

all_store_views.png

image_roles.png

Sin embargo, en la tienda, la imagen no aparece; cuando marca la página Producto en el nivel de tienda en particular (cambiando el Vista de tienda), la imagen está allí, pero no se han establecido las funciones.

image_roles_not_set.png

Causa

En las instancias de Adobe Commerce de varias tiendas (con más de una tienda), algunas imágenes de producto pueden tener el no_selection valores de atributos image, small_image, thumbnail, swatch (estos atributos corresponden a funciones de imagen). Tales no_selection Los valores de emergen cuando la función de imagen del producto se establece en el ámbito global de todas las tiendas en lugar del ámbito de una tienda en particular (es decir, en la Todas las vistas de tienda en lugar de un en particular Vista de tienda).

Técnicamente hablando: activado store_id=0 (que contiene la configuración global de todas las tiendas de la instancia de Adobe Commerce), se pueden definir las funciones de imagen del producto: esto significa que los atributos image, small_image, thumbnail, swatch tienen valores válidos (ruta a las imágenes). Al mismo tiempo, el store_id=1 (que es una representación de tienda en particular), los valores de estos atributos son no_selection.

Cómo verificar que ese es su problema

Ejecute esta consulta 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';

Si la consulta devuelve un resultado como el siguiente, está tratando el problema documentado en este artículo:

+----------+--------------+----------+--------+--------------+----------------------------+
| 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)

¿Por qué ocurre esto?

Si la aplicación Adobe Commerce tiene más de un almacén, no se pueden sincronizar datos entre un almacén en particular y la configuración del almacén global.

Valores en store_id=1 tienen más prioridad que el almacén predeterminado (global) (store_id=0). Por lo tanto, la aplicación puede omitir la configuración de imagen global y utilizar la configuración de ámbito de almacenamiento (no_selection para atributos de función de imagen) al mostrar una imagen.

Solución solution

Eliminar atributos con no_selection valores que utilizan este 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 vez eliminados estos atributos, se establecen las funciones de tiendas concretas y se muestran las imágenes en la tienda.

Detalles adicionales

No podrá ver los resultados de la corrección inmediatamente si Caché de página completa está habilitada en la instancia de Adobe Commerce.

Para que se muestren los cambios, actualice la caché de la página con el Administración de caché del panel de administración.

Más información

Almacenes y ámbitos

Almacena y almacena ámbitos en nuestra guía del usuario

Imágenes

Cargando imágenes de producto en nuestra guía del usuario

Caché

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