Aide - Recherche - Membres - Calendrier
Version complète : [resolu] Taille D'images
Forum osCommerce-fr > Vie du groupe > Archives
Nemesis
j'ai sur ma boutique disons par exemple 2 categories de produits differentes et je voudrais que les images de la premiere categorie soit affichées dans une taille plus importante que les images de la deuxieme categorie. je sais que l'on peut changer la taille de ces images mais la modification s'opère sur toutes les images des produits, quelque soit la categorie.
confused.gif
azer
reformulee la que la question est bien :

est til possible ou comment faire pour definir des tailles d'images pour les produits diffrentes pour chaques categories .

ce sont les images preview que t u voudrais agrandir, pas les images sur les fiches produits cest bien cela ?
Gnidhal
1)Utiliser une seule valeur buté et assignet des images à chaque catégorie en conséquence :
2) recadrer tes images sources en fonction de ce que tu veux :
image grande plein cadre, image petite, centrée sur fond neutre et sujet réduit.

autre possibilité, assigner la taille maxi en fonction de la catégorie.
Les dimensions sont lues dans la table configuration puis placées en constantes.
Si tu fais un test sur la variable cPath (la catégorie) tu peux assigner une autre valeur de taille d'image que celle par défaut (ou un facteur).

Dès qu'on affiche un produit, on a sa catégorie, donc partout ou ya une requête d'affichage, tu n'a qu'à intégrer ton test
exemple :
dans product listing (sur la creload)
CODE
    $facteur = ($cPath=="N° de ta catégorie") ? "1.5":"1";

    $image_width = SMALL_IMAGE_WIDTH*$facteur;

    $image_height = SMALL_IMAGE_HEIGHT*$facteur;

tu peux aussi remplacer le test sur une seule valeur par un ereg() avec un masque REGEX.
et dans l'affichage image tu remplaces les constantes par tes vairables.
Mais faut aussi regarder la fonction tep_image()
CODE
tep_image(DIR_WS_IMAGES . $listing_values['products_image'], $listing_values['products_name'], $image_width, $image_height)


Allez, Au boulot ! wink.gif
azer
bon courage si tes debutant , va falloir te faire aider !
Nemesis
Heureusement que vous etes la wink.gif
Mais j'arrive pas a m'en sortir. il me faudrait un tutorial. Je ne perd pas espoir et je vais me creuser la tete encore longtemps.

Est-il necessaire de modifier la table en plus d'inserer le code que tu m'as donné dans product listing?
Gnidhal
QUOTE (azer)
bon courage si tes debutant , va falloir te faire aider !

Bah ? c'est pas clair ?

Bin c'est qu'on est en "échanges développeurs", ce qui sous-entend que les posteurs de ce forum sont un tant soit peu avertis, non ? wink.gif
Gnidhal
Bon pour les produits en liste ça se passe dans product_listing.php et faut faire les ajours et modifs dans cette partie :
CODE
         case 'PRODUCT_LIST_IMAGE':

           $lc_align = 'center';

           if ($HTTP_GET_VARS['manufacturers_id']) {

             $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing_values['products_id'], 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . $listing_values['products_image'], $listing_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>';

           } else {

             $lc_text = '&<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing_values['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing_values['products_image'], $listing_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>&';

           }

           break;

sinon, si tu veux que les images de tes produits changent de taille dans toutes les parties du site en fonction de la catégorie, tu peux modifier la fonction tep_image() en ajoutant un paramètre :
CODE
function tep_image($src, $alt = '', $width = '', $height = '', $parameters = '',$category='')

dans la fonction tu gères alors la sélection en fonction de la catégorie comme expliqué plus haut.
Il suffira alors d'appeler le tep_image avec le paramètre $cPath en plus pour que l'image soit à la bonne dimension.
La modification de la fonction ne posera pas de pb, puisque le paramètre est optionnel et placé en dernier. Donc si il est omis, on reste avec un usage standard.
En reprenant l'exemple du product_listing ci dessus l'appel à l'image se fera comme suit :
CODE
tep_image(DIR_WS_IMAGES . $listing_values['products_image'], $listing_values['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT,'',$cPath)


Avantage, c'est portable dans toutes les pages ou on affiche une image en ajoutant juste les deux paramètres de la fin (oui la fonction tep_image comprend déjà un paramètre optionnel d'affichage pour mettre une bordure par exemple qu'il faut sauter si on veut accéder directement à la valeur de la catégorie).


Allez, c'est très simple à faire ! wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2014 Invision Power Services, Inc.