Magento : Attributs global pas mis à jour sur tous les stores.

Cet article est assez ancien, malgré toute l'attention que j' apporte à mes contenus il est possible que celui-ci ne soit plus d'actualité.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.

J’ai dernièrement rencontré un problème avec un attribut d’une portée globale, qui n’était pas mis à jour sur un store en particulier.
Le comportement rencontré était le suivant :

  • Le changement de la valeur de l’attribut dans le store global est bien pris en compte
  • La valeur de l’attribut n’est pas mise à jour dans le store spécifié
  • Changer la valeur de l’attribut sur le store spécifié ne modifie pas sa valeur.

Dans la majorité des cas ce problème est lié à un changement de portée de l’attribut, alors que des données avait déjà été renseignées.
Dans mon cas la portée initiale de l’attribut était par store, et elle a été passé au global.

Le problème est lié au fait que les données de l’attribut spécifiques au store n’ont pas été supprimées, malgré le changement de statut.
Il faut donc les supprimer manuellement via une requête du type :
sur les tables :

  • catalog_product_entity_datetime
  • catalog_product_entity_decimal
  • catalog_product_entity_int
  • catalog_product_entity_varchar

Pour supprimer tous les attributs :

DELETE FROM `catalog_product_entity_varchar` 
WHERE
   store_id <> 0 AND
   attribute_id IN (
           SELECT attribute_id 
           FROM catalog_eav_attribute 
           WHERE is_global = 1
 
   )

Ou pour un seul attribut :

DELETE FROM `catalog_product_entity_varchar` 
WHERE
   store_id <> 0 AND
   attribute_id  = xxx

Et pour finir visitez le site de rencontre sérieuse gratuite Oulfa.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *