Aller au contenu


- - - - -

Suppression d'un Produit


12 replies to this topic

#1 Guest_MOON CONCEPT_*

  • Guests

Posté 12 mai 2009 - 09:28

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

#2 Jean-Hervé

    Maître ecommerce

  • Administrateur PEEL
  • 907 Messages :

Posté 13 mai 2009 - 09:11

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.
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97

#3 Guest_MOON CONCEPT_*

  • Guests

Posté 13 mai 2009 - 09:44

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 ?

#4 les miniatures

    Maître ecommerce

  • Utilisateur open source
  • PipPipPipPip
  • 146 Messages :

Posté 13 mai 2009 - 09:46

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.

#5 les miniatures

    Maître ecommerce

  • Utilisateur open source
  • PipPipPipPip
  • 146 Messages :

Posté 04 juin 2009 - 17:59

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

Mille mercis

#6 Jean-Hervé

    Maître ecommerce

  • Administrateur PEEL
  • 907 Messages :

Posté 05 juin 2009 - 08:25

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 !!!!!
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97

#7 les miniatures

    Maître ecommerce

  • Utilisateur open source
  • PipPipPipPip
  • 146 Messages :

Posté 05 juin 2009 - 17:17

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

#8 Jean-Hervé

    Maître ecommerce

  • Administrateur PEEL
  • 907 Messages :

Posté 07 juin 2009 - 17:17

Bonjour les miniatures,

Pas de quoi ;)

J'attends votre retour sur ce sujet.
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97

#9 Gilles Boussin

    Maître ecommerce

  • Administrateur PEEL
  • 946 Messages :

Posté 08 juin 2009 - 19:25

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');
PEEL.fr Solution eCommerce de boutique en ligne
Contactez-nous pour votre boutique eCommerce : http://www.peel.fr/u...rs/sendmail.php
01 75 43 67 97

#10 Jean-Hervé

    Maître ecommerce

  • Administrateur PEEL
  • 907 Messages :

Posté 08 juin 2009 - 23:07

Effectivement, merci pour la correction ;)
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97

#11 Gilles Boussin

    Maître ecommerce

  • Administrateur PEEL
  • 946 Messages :

Posté 11 juin 2009 - 12:18

Cette amélioration sera effective dans la 5.4
PEEL.fr Solution eCommerce de boutique en ligne
Contactez-nous pour votre boutique eCommerce : http://www.peel.fr/u...rs/sendmail.php
01 75 43 67 97

#12 les miniatures

    Maître ecommerce

  • Utilisateur open source
  • PipPipPipPip
  • 146 Messages :

Posté 11 juin 2009 - 21:58

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

#13 Jean-Hervé

    Maître ecommerce

  • Administrateur PEEL
  • 907 Messages :

Posté 12 juin 2009 - 08:40

Je clos donc ce sujet.

N'hésitez pas à poster de nouveau en cas de souci.
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97





1 utilisateur(s) en train de lire ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)