osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [Résolu]Fonction if ((int)$current_category_id ==xx), Aide à l'amélioration d'une fonction
mickael34
posté 21 Mar 2011, 15:57
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 134
Inscrit : 3-January 08
Membre no 20263



Bonjour,

Dans mes fiches produits, je fait apparaitre une image "générique" à l'endroit voulu suivant si le produit se trouve dans telle ou telle catégorie avec cette fonction :

if ((int)$current_category_id ==85) {
echo '<img src="images/monimage.jpg">';
}
elseif ((int)$current_category_id ==86) {
echo '<img src="images/monimage.jpg">';
}
elseif ((int)$current_category_id ==87) {
echo '<img src="images/monimage.jpg">';
}
...
else {
}


Pas de problème, cela dit selon mon arborescence, si dans une catégorie j'ai 10 sous-catégories, je suis obligé de "copier" 10 fois la ligne ((int)$current_category_id ==xx) avec à chaque fois le n° de la sous-catégorie.

Juste par curiosité, y aurait-il selon vous une façon de "raccourcir" cette fonction du style : si 88 ou 89 ou 90 alors image1.jpg, si 98 ou 99 ou 100 alors image2.jpg...

D'avance merci smile.gif

Ce message a été modifié par mickael34 - 22 Mar 2011, 09:48.
Go to the top of the page
 
chti_poupon
posté 21 Mar 2011, 19:55
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2162
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
1/ switch
2/ créer une array de données et paramétrer la ligne genre:
Code
echo '<img src="images/".$bonne_image[$current_category_id].">';

Chti poupon
Go to the top of the page
 
mickael34
posté 21 Mar 2011, 21:16
Message #3


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 134
Inscrit : 3-January 08
Membre no 20263



1/switch
Houlà... ça dépasse mes faibles compétences en php ça smile.gif
Go to the top of the page
 
Bonbec
posté 22 Mar 2011, 08:39
Message #4


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 709
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

Ma participation :
3) créer une image par catégorie qui porte comme nom le n° de la catégorie et la classer dans un dossier imgcat qui se trouverait dans le dossier images.
Pas testé si çà fonctionne mais en gros l'idée donnerait çà :

Code
$imgcat = DIR_WS_IMAGES.'imgcat/0.jpg'; // image par défaut si pas d'image de catégorie existante
if (tep_not_null($current_category_id)) {
     $imgcat = DIR_WS_IMAGES.'imgcat/'.$current_category_id.'.jpg'; // image théorique de la catégorie
}
if (file_exists(DIR_WS_IMAGES.$imgcat)) { // si l'image existe l'afficher
     list($width, $height, $type, $attr) = getimagesize(DIR_WS_IMAGES.$imgcat); // récupération des infos de l'image
     echo tep_image(DIR_WS_IMAGES.$imgcat, $category['categories_name'], $attr); // affichage de l'image, ATTENTION => vérifier si $category['categories_name'] est renseigné sinon mettre un truc quelconque à la place.
}


Ce message a été modifié par Bonbec - 22 Mar 2011, 08:41.


--------------------
Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse)
En local j'utilise UwAmp, que du bonheur ...
Go to the top of the page
 
mickael34
posté 22 Mar 2011, 09:48
Message #5


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 134
Inscrit : 3-January 08
Membre no 20263



Merci pour ta participation.

Je vais tester mais je pense que ta solution peut marcher nickel !
En tous cas ça aura le mérite d'alléger la fonction que j'utilisais précédemment.

Merci

smile.gif
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 24th May 2013 - 17:32
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)