THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

(sujet déplacé de la section anglais à français)

la suppression d'un produit ayant une caractéristique libre, revient au même que de créer une caracdisp (feature_av).

En effet avec deux caractéristique une libre et une choix multiple.
Deux produit avec texte remplie dans la caractéristique libre et choix multiple sélectionné.

dans la base de donnée feature product, on voit la différence entre libre et choix multiple par la case free_text_value qui est à NULL ou 1.
mais dans feature_av et feature_av_i18n aucune différence, j'ai des feature_av comme si je les avait créé depuis admin/configuration/features/update?feature_id=1

Si je supprime l'un des deux produit, la contrainte de suppression en cascade, supprime bien de la table feature_product la ligne en question, laissant dans feature_av et feature_av_i18n des informations similaire à une création de choix multiple pour ma caractéristique.
Je retrouve donc sur mon second produit le texte à sélectionner de mon premier produit au lieu du texte libre écrit pour celui si.
Et sur  admin/configuration/features/update?feature_id=1 je trouve la feature_av de mon premier produit que je dois supprimer pour que régler le problème.

ça serait mieux que cette suppression ce fasse automatiquement mais je n'ai pas trouver comment faire avec sql une suppression en cascade avec condition. Et je n'ai pas fouillé dans le php pour inclure cette suppression.
Ma solution temporaire est de supprimer le "ALTER TABLE `feature_product` ADD CONSTRAINT `fk_feature_prod_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE CASCADE;"

Bonne journée.

Last edited by CoolWaa (08-02-2016 12:50:29)