De alguna manera, algunos de mis productos tenían el "Usar valor predeterminado" deseleccionado.
Mi tienda tiene 2 idiomas, inglés y francés. French utiliza el valor de la tienda predeterminada, por lo que ahora, cuando actualizo los productos, no aparece en la parte frontal a menos que acceda manualmente al producto en la vista de la tienda francesa y seleccione "Usar valor predeterminado",
No parece haber un atributo para una acción masiva, he encontrado algunos scripts y consultas MySQL, sin embargo, no está claro si esas soluciones restablecen todas las vistas de la tienda para usar el valor predeterminado.
El resultado deseado es establecer "Usar valor predeterminado" en una vista de tienda específica (francés) en todos los productos.
¿Cómo restablezco una gran cantidad de productos (o todos los productos) a "Usar valor predeterminado" en una vista de tienda específica?
fuente
$product->setData('visibility', false);
, marcaré la casilla, pero también estableceré la visibilidad en "verdadero", lo que no quieroSuponiendo que la identificación de la tienda para la tienda francesa es 2, debe ejecutar las siguientes consultas mysql:
Básicamente, esto elimina los valores de atributo para todos los atributos y productos para los cuales la identificación de la tienda está establecida en 2. Cuando Magento no puede encontrar el valor de atributo para un producto contra la identificación de la tienda en particular, elige el valor predeterminado.
fuente
false
como lo hice, la opción "Usar valor predeterminado" estará marcada. Aunque su solución podría funcionar, personalmente no me gusta usar consultas directas de SQL.Unirme un poco tarde, pero realmente no me gustó ninguna de las respuestas anteriores.
Aquí está mi intento, no completamente probado, pero parece hacer lo que necesito que haga.
fuente
Puede usar core_block_abstract_to_html_before adminhtml event para agregar las casillas de verificación requeridas para cada atributo en el formulario de actualización masiva de administrador.
Luego, deberá usar el evento catalog_product_attribute_update_before para eliminar los valores de las tablas EAV para una vista de tienda específica, solo para aquellos atributos que tienen la casilla de verificación que inyectó anteriormente con core_block_abstract_to_html_before establecido como marcado.
Espero que ayude.
Este módulo hace exactamente eso: http://mageinn.com/product/adminextra/ También es posible restablecer el atributo ' url_key ' con ese módulo.
fuente