Suppression d'un Produit

13 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Lors de la suppression d'un produit en BackOffice, les images ne sont pas effacées du serveur,

est-ce normal ?

PS: par contre, l'effacement individuel des images fonctionne.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Si les images ne sont pas effacées (ce doit être un oubli), il faut reprendre le code correspondant à la suppression d'UNE image, et faire une boucle sur les 4 images pour les effacer.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Oui, c'est bon pour moi maintenant.

Et qu'en est il des miniatures ?

Elles sont créées lors de l'affichage, mais sont elles supprimées en cas de modification des visuels principaux ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui c'est vrai que c'est galère cette histoire, être obligé de rentrer dans les fiches produit pour effacer les images individuellement.

Si vous avez un correctif, je suis preneur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour, vous auriez un correctif pour les nuls qui ne savent pas programmer ?

Mille mercis

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Le code qui permet de supprimer un produit se trouve dans administrer/produits.php : fonction produits.php

Juste après cette fonction, on a la fonction supprime_fichier() qui permet elle, de supprimer une image dont l'intitulé (image1, image2, etc...) est passée en paramètre.

Il faudrait donc a priori que supprime_produit appelle supprime_fichier().

J'écrirais donc un code du type :

function supprime_produit($id)

{

/* Supprime le produit spécificié par $id. Il faut supprimer le produit

* puis les entrées correspondantes de la table peel_produits_categories. */

/* Charge les infos du produit. */

$qid = mysql_query("

SELECT nom_" . $_SESSION['langue'] . "

FROM peel_produits

WHERE id = '" . intval($id) . "'

");

$prod = mysql_fetch_array($qid);

supprime_fichier(intval($id), image1);

supprime_fichier(intval($id), image2);

supprime_fichier(intval($id), image3);

supprime_fichier(intval($id), image4);

/* Efface le produit */

mysql_query("DELETE FROM peel_produits WHERE id = '" . intval($id) . "'");

/* Efface ce produit de la table peel_produits_categories */

mysql_query("DELETE FROM peel_produits_categories WHERE produit_id = '" . intval($id) . "'");

mysql_query("DELETE FROM peel_sites_pivots WHERE produit_id = '" . intval($id) . "'");

mysql_query("DELETE FROM peel_produits_references WHERE produit_id = '" . intval($id) . "'");

mysql_query("DELETE FROM peel_produits_couleurs WHERE produit_id = '" . intval($id) . "'");

mysql_query("DELETE FROM peel_produits_tailles WHERE produit_id = '" . intval($id) . "'");

mysql_query("DELETE FROM peel_stocks WHERE produit_id = '" . intval($id) . "'");

echo '<p class="normal">Le produit <b>' . html_entity_decode($prod['nom_' . $_SESSION['langue'] . '']) . '</b> a &eacute;t&eacute; effac&eacute;</p>';

}

Je n'ai pas vérifié ce code. A priori, il doit être OK, mais bien tester tout de même !!!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci Jean-Hervé, je vais tester dès que j'ai un moment.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour les miniatures,

Pas de quoi ;)

J'attends votre retour sur ce sujet.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Petite correction au code, les guillemets ont été oubliés :

Il faut remplacer :

supprime_fichier(intval($id), image1);

supprime_fichier(intval($id), image2);

supprime_fichier(intval($id), image3);

supprime_fichier(intval($id), image4);

par :

supprime_fichier(intval($id), 'image1');

supprime_fichier(intval($id), 'image2');

supprime_fichier(intval($id), 'image3');

supprime_fichier(intval($id), 'image4');

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Effectivement, merci pour la correction ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Cette amélioration sera effective dans la 5.4

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci Jean-Hervé et Gilles, cela fonctionne à merveille.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je clos donc ce sujet.

N'hésitez pas à poster de nouveau en cas de souci.

Partager ce message


Lien à poster
Partager sur d’autres sites
Ce sujet ne peut plus recevoir de nouvelles réponses.

Twitter Advisto ecommerce

Facebook PEEL Shopping