Jump to content

Une taille d'image "large" différente selon la catégorie du produit


Recommended Posts

Bonjour,

Je dispose de plusieurs catégories de produits et j'aimerais qu'en fonction de la catégorie de produit, les dimensions de mon image "large" (celle utilisée pour le fond de l'image produit) se modifie.

Exemple :
Catégorie "iPod" -> image large : 800x400
Catégorie "iPad" -> image large : 600x300

Je sais qu'il faut définir une nouvelle catégorie d'image, par exemple "large2" et mentionner les dimensions requises.

En revanche, je ne sais pas comment modifier le code (ni quels fichiers il convient de modifier) pour faire en sorte que l'image "large2" soit utilisée à la place de l'image "large" dans certains cas.

N'ayant pas trouvé de sujet similaire, je fais appel à votre aide.

Merci pour vos réponses !

Cordialement,

Link to comment
Share on other sites

Bonjour,

Je pense avoir trouvé un moyen de modifier la taille de l'image de fond en fonction de la catégorie de produit. J'ai créé une nouvelle catégorie d'image large (large2) en spécifiant les dimensions.

Je pense modifier product.tpl comme suit.

En lieu et place de :


       {if $have_image}
getImageLink($product->link_rewrite, $cover.id_image, 'large')}"
               {if $jqZoomEnabled}class="jqzoom" alt="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox')}"{else} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" {/if} id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}" />
       {else}
name|escape:'htmlall':'UTF-8'}" width="{$largeSize.width}" height="{$largeSize.height}" />
       {/if}


Je pense insérer :


       {if $have_image && $product.id_category == 6}
getImageLink($product->link_rewrite, $cover.id_image, 'large2')}"
               {if $jqZoomEnabled}class="jqzoom" alt="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox')}"{else} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" {/if} id="bigpic" width="{$large2Size.width}" height="{$large2Size.height}" />
       {elseif $have_image}
getImageLink($product->link_rewrite, $cover.id_image, 'large')}"
               {if $jqZoomEnabled}class="jqzoom" alt="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox')}"{else} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" {/if} id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}" />
       {else}
name|escape:'htmlall':'UTF-8'}" width="{$largeSize.width}" height="{$largeSize.height}" />
       {/if}



La catégorie 6 renvoyant donc à une catégorie précise.

Et ajouter au début du fichier, au niveau de "// Parameters" :

var id_category = '{$product->category|intval}';



Pouvez-vous me dire si cela est correct ?

Merci de vos réponses :)

Link to comment
Share on other sites

  • 2 months later...
  • 2 years later...

coucou

 

alors vu que toutes les produits vont avoir une image normal et une image large je pense qu' il faudrait

 

1°) Coter BO integrer une case a cocher dans le helper form de l'adminproduct et qui l'ors de l'enregistrement du produit active ou non l'image large dans la base de donne via la class product

 

2°) coter tpl on verifie si la case est true on affiche image large sinon image normal

 

je vous laisse un peu chercher en me penchant sur le sujet ^^

 

@++

 

Loulou66

Link to comment
Share on other sites

coucou

 

bon j'ai essayer ma méthode ca fonctionne 

j'ai donc créer une case a cocher dans adminproductcontroller qui s'enregistre dans la BDD dans la table product et qui est récupéré coter FO est assignée dans la variable {$superlarge} pour le tpl 

dans le tpl si la valeur de $superlarge = 1 il prend bien en compte l' image superlarge_default qui correspond a la catégories d'image que j'ai créer en 600x600

 

mais oui car il y a un mais même ne modifiant le product.js qui affiche l'image quand on passe sur les thumbs du dessous cela ne change pas grand chose visuellement( on le voit dans la console avec F12 les url des image changes) peut-être 600x600 ne change pas grand chose par apport au 458x458 d'origine

 

je vous mais un petit module qui rename les fichier originaux avant de copier les fichiers modifié et qui crée les entrée en BDD

 

il vous faudra juste crée un nouvelle catégorie d'images pour les produits et régénéré les images produit 

bo==>préférences=>images

 

de toute façon si tu veut avoir un image plus grande en FO il va falloir soit modifier les css aussi avec a chaque fois la conditions a vérifier soit faire un product2.tpl avec les declarations css pour cette page

e apprendre comment fonctionne bootstrap (http://getbootstrap.com/2.3.2/)

 

@++

 

Loulou66

 

 

 

superlarge.zip

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...