J'essaie d'ajouter des options personnalisées à des produits déjà existants dans Magento. Cela semble fonctionner correctement, j'ai ajouté les lignes nécessaires dans les tables suivantes :
catalog_product_option
catalog_product_option_title
catalog_product_option_type_value
catalog_product_option_type_price
catalog_product_option_type_title
J'ai également mis à jour has_options
y required_options
pour le bon produit, dans les tableaux suivants :
catalog_product_entity
catalog_product_flat_1
catalog_product_flat_2
catalog_product_flat_3
Lorsque j'ouvre le produit, les options ne s'affichent pas, en fait, elles s'affichent moins. Le bouton pour le commander disparaît. Lorsque j'ouvre le éditer elle affiche les options. Après l'enregistrement, il apparaît également sur le front-end.
Qu'est-ce qui m'échappe ?
Mise à jour : Après avoir parcouru manuellement toutes les requêtes exécutées après une action de sauvegarde, j'ai découvert ce qu'il me manquait. Lorsqu'un produit a des options, il doit les afficher dans un format différent. modèle (ou quel que soit son nom dans Magento). Pour ce faire, vous devez modifier la valeur de l'attribut options_container
.
Il existe donc une solution très simple pour résoudre ce problème. Il suffit de consulter le attribute_id
dans le tableau eav_attribute
. Il suffit ensuite d'exécuter la requête suivante pour chaque produit :
UPDATE `catalog_product_entity_varchar` SET `value` = 'container1' WHERE `attribute_id` = 836 AND `entity_id` = $productId;
Cela fera l'affaire ! :)