Jump to content
soclass

Image de couverture pour les produits

Recommended Posts

Bonjour,

 

Je voulais savoir s'il était possible d'avoir une image de couverture différente de l'image sur laquelle s'ouvre la page produit ?

Par exemple, j'ai réalisé des zooms de mes produits qui constituent mes couvertures, et je voudrais que la page produit affiche l'image entière, or actuellement la page produit affiche les zooms... ce qui n'est pas très joli.

 

merci  :)

Share this post


Link to post
Share on other sites

Euh,
Qu'il faudrait modifier un bout de code, afin que l'image par défaut (Zoom) s'affiche en couverture.
Et que la seconde image upload (La normal), soit l'image qui s'affiche une fois sur la page du produit.

Est-ce bien ce raisonnement ?

Share this post


Link to post
Share on other sites
Je voulais savoir s'il était possible d'avoir une image de couverture différente de l'image sur laquelle s'ouvre la page produit ?

Cela fonctionne pour les produits avec déclinaisons. Il est possible de choisir une photo de couverture et un attribut par défaut à laquelle affecter une photo.

A part ce cas de figure, je ne vois pas de solution par défaut.

Share this post


Link to post
Share on other sites

Merci. C'est dommage car en général l'image de couverture est différente de celle du produit. Peut-être quelque chose à apporter pour les futures versions ?

Share this post


Link to post
Share on other sites

UP
Bonjour, quelqu'un a t'il des informations sur cette image de couverture ?
Ca m'interesse j'ai des images a faire figurer en couverture mais pas dans la liste des images..

Share this post


Link to post
Share on other sites

Hello, si qq'un cherche encore, voici la solution (Prestashop v1.4.7) :

 

Pour ne pas afficher l'image de couverture (don't display cover image for products) pour les produits dans le detail d'un produit uniquement.

 

Dans ProductController.php l. 245 function process()

 

foreach ($images AS $k => $image)
{
 if ($image['cover'])
 {
  self::$smarty->assign('mainImage', $images[0]);
  $cover = $image;
  $cover['id_image'] = (Configuration::get('PS_LEGACY_IMAGES') ? ($this->product->id.'-'.$image['id_image']) : $image['id_image']);
  $cover['id_image_only'] = (int)($image['id_image']);
 }


 $productImages[(int)$image['id_image']] = $image;
}

 

remplacer par

 

foreach ($images AS $k => $image)
{
 if ($image['cover'])
  continue;

 if (!isset($cover))
  {
   $cover = $image;
   $cover['id_image'] = (Configuration::get('PS_LEGACY_IMAGES') ? ($this->product->id.'-'.$image['id_image']) : $image['id_image']);
   $cover['id_image_only'] = (int)($image['id_image']);	  
  }

 $productImages[(int)$image['id_image']] = $image;
}

 

Pour etre propre il faut utiliser l'OverRide pour surcharger le Controller et ne pas bloquer la mise a jour de Prestashop.

Share this post


Link to post
Share on other sites

Bonjour, j'essaie de faire pareil sur une version 1.5.4, le code marche, j'ai bien la seconde image qui s'affiche et l'image de couverture apparait bien dans la liste des produits (donc 2 images différentes) mais ça m'enlève également toute les autres images et le fonctionnement de la thickbox. une idée pour seulement enlever l'image de couverture sur la fiche produit et conserver toutes les autres??

merci.

Share this post


Link to post
Share on other sites

Bonjour,

Je souhaite également une réponse pour obtenir une image de couverture différente mais sans perdre les autres images sur les fiches produits ainsi que la thickbox !

 

Bien à vous,

David

Share this post


Link to post
Share on other sites

Bonjour,

Je souhaite également une réponse pour obtenir une image de couverture différente mais sans perdre les autres images sur les fiches produits ainsi que la thickbox !

 

Bien à vous,

David

 

 

Le code ci-dessous marche pour Prestashop 1.6

 

En comparant le code de remplacement et la partie à remplacer dans ProductController.php j'ai vu qu'il quelques différences d'orthographe, des ) des _ et cela ne se voyait pas forcément au premier coup d'œil.

 

Donc là on a les vignettes des autres images (mais pas celle de la couverture), les images s'affichent, la thickbox fonctionne.

 

Remplacer donc :

foreach ($images as $k => $image)
		{
			if ($image['cover'])		
			{			
			$this->context->smarty->assign('mainImage', $image);
			$cover = $image;
			$cover['id_image'] = (Configuration::get('PS_LEGACY_IMAGES') ? ($this->product->id.'-'.$image['id_image']) : $image['id_image']);
			$cover['id_image_only'] = (int)$image['id_image'];
			}
			$product_images[(int)$image['id_image']] = $image;
		}	

par

foreach ($images as $k => $image)
		{
			if ($image['cover'])
			continue;
	
			if (!isset($cover))
			{
			$cover = $image;
			$cover['id_image'] = (Configuration::get('PS_LEGACY_IMAGES') ? ($this->product->id.'-'.$image['id_image']) : $image['id_image']);
			$cover['id_image_only'] = (int)$image['id_image'];	  
			}
	
	 $product_images[(int)$image['id_image']] = $image;
	}

Share this post


Link to post
Share on other sites

Bonjour, je cherche à faire la même chose mais dans prestashop 1.7.5.2... je vois à peu près dans quelle zone du fichier ProductController.php il faudrait agir mais n'étant pas programmatrice je ne sais faire que des copiés-collés... quelqu'un saurait-il me guider pour transformer l'affichage des images dans les fiches produits : ne pas y afficher l'image de couverture et dans le cas où il n'y a qu'1 image ne pas afficher les vignettes ? Merci pour votre aide

Share this post


Link to post
Share on other sites
Le 07/12/2019 à 3:42 PM, rachpat a dit :

Bonjour, je cherche à faire la même chose mais dans prestashop 1.7.5.2... je vois à peu près dans quelle zone du fichier ProductController.php il faudrait agir mais n'étant pas programmatrice je ne sais faire que des copiés-collés... quelqu'un saurait-il me guider pour transformer l'affichage des images dans les fiches produits : ne pas y afficher l'image de couverture et dans le cas où il n'y a qu'1 image ne pas afficher les vignettes ? Merci pour votre aide

Merci de mettre le lien de votre page produit.

Share this post


Link to post
Share on other sites

Bonjour, merci de votre intérêt pour ma question mais j'ai pu résoudre le problème en remplaçant $product.cover par $product.images[1] dans mes fichiers product-cover-thumbnails.tpl et product-images-modal.tpl. Merci et bonne soirée !

 

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More