Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
28 Jun 2006, 11:49
Message
#1
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 94 Inscrit : 7-April 05 Membre no 5422 |
Bonjour,
Je souhaiterais juste modifier categories.php pour que les images des produits soit regroupées dans un sous repertoire de "/images". "images/Produits" par exemple. J'ai trouvé la contrib "folder_tree" mais sa mise en oeuvre est complexe car j'ai déjà modifié categories.php pour avoir trois images distinctes par produits. 1 miniature pour les listings, 1 intermediaire pour product_info, et 1 "Big_image" pour la popup. Donc ca complique grandement les choses. De plus le nombre de produits proposés ne justifient pas d'une "hierarchisation" aussi complète des images produits. J'ai déjà reussi à faire en sorte que l'upload se fasse dans le bon repertoire mais, evidamment ca "bug " à l'affichage coté client. La question est donc la suivante : - comment inserer un chemin en plus du nom de l'image dans le champ "product_image" (et dans mon cas "product_mimage" et "product_bimage"). Car j'ai vu que certaines contribs le font mais je ne vois pas comment ( j'ai pourtant essayé d'éplucher un peu le code..). Tout ca pour eviter d'avoir à modifier tous les fichiers ou l'on trouve l'affichage des image produits (et ce sera plus propre). - question subsidiaire : à quel endroit ou quelle fonction "supprime" les fichiers images lors de la supression d'un produit, car mes "mimage" et "bimage" ne sont pas supprimées lors du processus ? Merci pour vos eclaircissement Nmouns Ce message a été modifié par nmouns044 - 28 Jun 2006, 17:50. -------------------- Ms2Fr + PrintOrder_with_StoreLogo_V2 + Ask_a_question_MS2 + easy_populate_v2_76 + Crimages_logo_V1 (Crimages v1.1_1 à ma sauce personnelle) + gender_and_name + Category_Box_Enhancement + AdminAcessLevel + BoxDéfilante + Autosauve + Unique Products Management + Inventaire (CTB Perso)
Ms2Fr + PrintOrder_with_StoreLogo_V2 + add-weight-to-product-attributes v0.2 + all_products + B2B Product Listing Columns + AttributeSets_v5_5 + Box défilante + HeaderTags_V_2.5.6 + actual_price_in_pulldown + CCGV(trad) + colissimo + EUstandartTransfert + FCKEditor-oscommerce_V2.2.1 + Inventaire_MS2 +sidKiller + weight_in_cart_with_total |
|
|
28 Jun 2006, 13:27
Message
#2
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1385 Inscrit : 3-June 04 Lieu : Saint-mandé Membre no 2597 |
CITATION - question subsidiaire : à quel endroit ou quelle fonction "supprime" les fichiers images lors de la supression d'un produit, car mes "mimage" et "bimage" ne sont pas supprimées lors du processus ? Dans le fichier admin/includes/functions/general.php, L.882 (chez une MS2 de base) : Fonction tep_remove_product(); Il faut rajouter deux bout de code : l'appel des champs mimage, bimage et voir si il ne sont pas appellé ailleurs (exemple : $duplicate_image) Bref, un copier/coller suffira Cordialement Ce message a été modifié par Ryu007 - 28 Jun 2006, 13:28. -------------------- ![]() |
|
|
28 Jun 2006, 15:30
Message
#3
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 94 Inscrit : 7-April 05 Membre no 5422 |
Ok merci,
mais entre deux post je vient de trouver la soluce comme un grand... Effectivement c'est bien la fonction tep_remove_product qu'il faut modifier comme suit : CODE function tep_remove_product($product_id) { //old $product_image_query = tep_db_query("select products_image from " . TABLE_PRODUCTS . " where products_id = '" . (int)$product_id . "'"); $product_image_query = tep_db_query("select products_image, products_mimage, products_bimage from " . TABLE_PRODUCTS . " where products_id = '" . (int)$product_id . "'"); $product_image = tep_db_fetch_array($product_image_query); $duplicate_image_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " where products_image = '" . tep_db_input($product_image['products_image']) . "'"); $duplicate_image = tep_db_fetch_array($duplicate_image_query); if ($duplicate_image['total'] < 2) { if (file_exists(DIR_FS_CATALOG_IMAGES . $product_image['products_image'])) { @unlink(DIR_FS_CATALOG_IMAGES . $product_image['products_image']); @unlink(DIR_FS_CATALOG_IMAGES . $product_image['products_mimage']); // image intermediaire @unlink(DIR_FS_CATALOG_IMAGES . $product_image['products_bimage']); // "Big" image } } En adaptant le nom des champs images supplémentaires bien sur. Modifié comme ca, tout semble fonctionner et les 3 images sont bien supprimées du serveur lors de la suppression du produit. Pas de messages d'erreur ni rien, bref que demande le peuple (plus de client ? Soit mais ca n'a rien à voir Apparemment, la contrib "Big_Image" ne propose pas cette modif, à voir, de ce coté là si quelqu'un veut pousser les tests plus loin et poster un correctif... Cela dit, je ne vois pas l'objet du : CODE if ($duplicate_image['total'] < 2) { sauf peut-être pour tester la présence de l'image, mais du coup à quoi servirait :CODE if (file_exists(DIR_FS_CATALOG_IMAGES . $product_image['products_image'])) { Pour moi le mystère reste entier Merci quand même à toi Ryu007 Par contre, pour la 1ère question, je suis toujours en rade... Nmouns -------------------- Ms2Fr + PrintOrder_with_StoreLogo_V2 + Ask_a_question_MS2 + easy_populate_v2_76 + Crimages_logo_V1 (Crimages v1.1_1 à ma sauce personnelle) + gender_and_name + Category_Box_Enhancement + AdminAcessLevel + BoxDéfilante + Autosauve + Unique Products Management + Inventaire (CTB Perso)
Ms2Fr + PrintOrder_with_StoreLogo_V2 + add-weight-to-product-attributes v0.2 + all_products + B2B Product Listing Columns + AttributeSets_v5_5 + Box défilante + HeaderTags_V_2.5.6 + actual_price_in_pulldown + CCGV(trad) + colissimo + EUstandartTransfert + FCKEditor-oscommerce_V2.2.1 + Inventaire_MS2 +sidKiller + weight_in_cart_with_total |
|
|
28 Jun 2006, 16:03
Message
#4
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1385 Inscrit : 3-June 04 Lieu : Saint-mandé Membre no 2597 |
CITATION Cela dit, je ne vois pas l'objet du ******* sauf peut-être pour tester la présence de l'image, mais du coup à quoi servirait ***** Pour moi le mystère reste entier Et pourtant ! Je t'ai donnée une indication (peut-etre pas très clair) : CITATION Il faut rajouter deux bout de code : l'appel des champs mimage, bimage et voir si il ne sont pas appellé ailleurs (exemple : $duplicate_image) Bref, un copier/coller suffira Ce bout de code permet de savoir si une de tes images est liée à un autre produit : dans le cas des images additionnelles (ce qui n'est pas le cas par defaut), et des produits copiés (via la fonction save as) qui utilise la même image. Avoue que tu serais bien embeté si une des images effacés, était utilisé par un autre produit sur ton site ! D'ou son utilité ! Et la condition/fonction : CODE if (file_exists(DIR_FS_CATALOG_IMAGES . $product_image['products_image'])) { permet de savoir si le fichier est bien présent dans ton dossier image : dans le cas contraire tu aurais un message d'erreur (unlink couplé à un lien vers une image qui n'existe pas renvoie un message d'erreur, d'ou la presence de l'arobase devant la fonction) Voilà, pour le jargon technique, mais ce que tu as fais convient .... Cordialement Ce message a été modifié par Ryu007 - 28 Jun 2006, 16:06. -------------------- ![]() |
|
|
28 Jun 2006, 16:19
Message
#5
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 94 Inscrit : 7-April 05 Membre no 5422 |
Merci pour les eclaircissements,
Je n'avais pas pensé que l'image d'un produit pouvait être utilisée pour un autre, mais effectivement dans le cas d'un produit dupliqué (copie) on a bien deux produits distinct pour une même image (ou groupe d'image). -> Bien saisi Par contre le test sur l'image de base est, à mon avis, suffisant pour savoir si un autre produit utilise ce groupe d'images. Car si l'image de base est utilisé alors elles le sont toutes... (inutile d'allourdir le code) Ton avis ? Nmouns Ce message a été modifié par nmouns044 - 28 Jun 2006, 16:20. -------------------- Ms2Fr + PrintOrder_with_StoreLogo_V2 + Ask_a_question_MS2 + easy_populate_v2_76 + Crimages_logo_V1 (Crimages v1.1_1 à ma sauce personnelle) + gender_and_name + Category_Box_Enhancement + AdminAcessLevel + BoxDéfilante + Autosauve + Unique Products Management + Inventaire (CTB Perso)
Ms2Fr + PrintOrder_with_StoreLogo_V2 + add-weight-to-product-attributes v0.2 + all_products + B2B Product Listing Columns + AttributeSets_v5_5 + Box défilante + HeaderTags_V_2.5.6 + actual_price_in_pulldown + CCGV(trad) + colissimo + EUstandartTransfert + FCKEditor-oscommerce_V2.2.1 + Inventaire_MS2 +sidKiller + weight_in_cart_with_total |
|
|
28 Jun 2006, 16:24
Message
#6
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1385 Inscrit : 3-June 04 Lieu : Saint-mandé Membre no 2597 |
CITATION Par contre le test sur l'image de base est, à mon avis, suffisant pour savoir si un autre produit utilise ce groupe d'images. Car si l'image de base est utilisé alors elles le sont toutes... (inutile d'allourdir le code) J'en conviens tout à fait ! C'était juste pour les précisions qui m'était chère. Je mentionnais surtout ce problème pour les contributions du genre Ultrapic, morepic, etc. qui gère 6 images supplémentaires. Cordialement, Bon courage pour la suite -------------------- ![]() |
|
|
28 Jun 2006, 16:35
Message
#7
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 94 Inscrit : 7-April 05 Membre no 5422 |
Merci pour tout
Bonne continuation à toi Nmouns PS : Si tu as une idée pour la première question je suis preneur -------------------- Ms2Fr + PrintOrder_with_StoreLogo_V2 + Ask_a_question_MS2 + easy_populate_v2_76 + Crimages_logo_V1 (Crimages v1.1_1 à ma sauce personnelle) + gender_and_name + Category_Box_Enhancement + AdminAcessLevel + BoxDéfilante + Autosauve + Unique Products Management + Inventaire (CTB Perso)
Ms2Fr + PrintOrder_with_StoreLogo_V2 + add-weight-to-product-attributes v0.2 + all_products + B2B Product Listing Columns + AttributeSets_v5_5 + Box défilante + HeaderTags_V_2.5.6 + actual_price_in_pulldown + CCGV(trad) + colissimo + EUstandartTransfert + FCKEditor-oscommerce_V2.2.1 + Inventaire_MS2 +sidKiller + weight_in_cart_with_total |
|
|
28 Jun 2006, 17:44
Message
#8
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 94 Inscrit : 7-April 05 Membre no 5422 |
Ca y est
1ère question résolue ! Pour "ranger" vos images produits dans un sous-repertoire de "images/" modifiez admin/categories.php comme suit (environ ligne 377): CODE case 'new_product_preview': // copy image only if modified $products_image = new upload('products_image'); $products_image->set_destination(DIR_FS_CATALOG_IMAGES . "Produits/"); if ($products_image->parse() && $products_image->save()) { $products_image_name = 'Produits/' . $products_image->filename; } else { $products_image_name = (isset($HTTP_POST_VARS['products_previous_image']) ? $HTTP_POST_VARS['products_previous_image'] : ''); } Bien sur reproduire la même chose sur le reste du code si on utilise plusieurs images. A adapter en fonction des besoins, j'ai mis "Produits" parce que ca me semblait ce qui correspondait le mieux mais chacun est libre... Note : le sous-repertoire "Produits" n'est pas testé donc gare au crash si il n'est pas créé à l'avance. Pour faire plus propre, il faudrait plutôt mettre une variable configurable dans l'admin à la place d'un rep. "en dur", et enventuellement "tester" voir créer le repertoire si il n'existe pas, et ca ferait une contrib sympa. Si quelqu'un à un peu de temps je pense que ce serait utile à pas mal de monde. Pour l'instant je n'ai pas le temps de m'y atteler ( je me marie dans trois jours Dès que j'ai plus de temps, je retrousse les manches, mais pour l'heure c'est un peu "chaud"... Longue vie au Forum, et merci aux membres actifs. Nmouns -------------------- Ms2Fr + PrintOrder_with_StoreLogo_V2 + Ask_a_question_MS2 + easy_populate_v2_76 + Crimages_logo_V1 (Crimages v1.1_1 à ma sauce personnelle) + gender_and_name + Category_Box_Enhancement + AdminAcessLevel + BoxDéfilante + Autosauve + Unique Products Management + Inventaire (CTB Perso)
Ms2Fr + PrintOrder_with_StoreLogo_V2 + add-weight-to-product-attributes v0.2 + all_products + B2B Product Listing Columns + AttributeSets_v5_5 + Box défilante + HeaderTags_V_2.5.6 + actual_price_in_pulldown + CCGV(trad) + colissimo + EUstandartTransfert + FCKEditor-oscommerce_V2.2.1 + Inventaire_MS2 +sidKiller + weight_in_cart_with_total |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19th June 2013 - 05:02 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |