Jump to content

Comment agrandir la taille des images du back office ?


Recommended Posts

Bonjour,

Cela fait des années maintenant que je cherche à agrandir la vignette des produits listés dans : back office>catalogue>produits (donc liste des produits du back office, pas du front).

 

J'avais trouvé la solution pour la 1.4 mais depuis la 1.5 puis 1.6, je n'y arrive plus.

Je vends des petits objets, et il m'est impossible de les repérer avec des image de 45x45px.

 

Par avance merci pour votre aide qui servira certainement à d'autres !

 

  • Like 1
Link to comment
Share on other sites

Bonsoir,

 

Je n'ai pas testé car pas le besoin mais en recherchant product_mini je trouve ces résultats :

Search "product_mini" (11 hits in 5 files)
  \prestashop_1.6.0.11\prestashop\classes\Image.php (1 hit)
	Line 442: 		$files_to_delete[] = _PS_TMP_IMG_DIR_.'product_mini_'.$this->id_product.'.'.$this->image_format;
  \prestashop_1.6.0.11\prestashop\controllers\admin\AdminCartsController.php (1 hit)
	Line 255: 			$product['image'] = (isset($image['id_image']) ? ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$image_product->getExistingImgPath().'.jpg', 'product_mini_'.(int)$product['id_product'].(isset($product['id_product_attribute']) ? '_'.(int)$product['id_product_attribute'] : '').'.jpg', 45, 'jpg') : '--');
  \prestashop_1.6.0.11\prestashop\controllers\admin\AdminOrdersController.php (1 hit)
	Line 2535: 				$name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
  \prestashop_1.6.0.11\prestashop\controllers\admin\AdminProductsController.php (6 hits)
	Line 741: 					@unlink(_PS_TMP_IMG_DIR_.'product_mini_'.$productId.'_'.$this->context->shop->id.'.jpg');
	Line 1584: 		@unlink(_PS_TMP_IMG_DIR_.'product_mini_'.(int)$img->id_product.'_'.$this->context->shop->id.'.jpg');
	Line 1620: 		if (file_exists(_PS_TMP_IMG_DIR_.'product_mini_'.$image->id_product.'_'.$this->context->shop->id.'.jpg'))
	Line 1621: 			$res &= @unlink(_PS_TMP_IMG_DIR_.'product_mini_'.$image->id_product.'_'.$this->context->shop->id.'.jpg');
	Line 1710: 		@unlink(_PS_TMP_IMG_DIR_.'product_mini_'.$product->id.'_'.$this->context->shop->id.'.jpg');
	Line 3979: 				@unlink(_PS_TMP_IMG_DIR_.'product_mini_'.(int)$product->id.'_'.$this->context->shop->id.'.jpg');
  \prestashop_1.6.0.11\prestashop\modules\dashproducts\dashproducts.php (2 hits)
	Line 219: 				$img = ImageManager::thumbnail($path_to_image, 'product_mini_'.$product_obj->id.'.'.$this->context->controller->imageType, 45, $this->context->controller->imageType);
	Line 310: 						$img = ImageManager::thumbnail($path_to_image, 'product_mini_'.$product_obj->id.'.'.$this->context->controller->imageType, 45, $this->context->controller->imageType);

En remplaçant les 45 par la hauteur souhaitée cela devrait fonctionner... A tester...

 

Bonne soirée

Link to comment
Share on other sites

Bonjour,

Merci pour votre recherche.

Cela fonctionne pour AdminOrdersController. Comme product_mini n'est pas utilisé par le thème, j'ai modifié sa taille (250px), modifié sur le fichier 45 par 250, régénéré les images.

 

Par contre, pour AdminProductsController.

Mes modifications ne sont pas prises en compte.

J'ai testé en remplaçant mini par large_default. Régénéré les images au cas où. L'image reste mini et ne prend même pas la taille de 250px : tmp/product_mini_64_1.jpg .

J'ai effacé les images product_mini du dossier tmp.

 

Si vous aviez une idée ?

Merci par avance.

Link to comment
Share on other sites

  • 11 months later...
  • 8 months later...

Bonjour

 

Pour ce qui concerne les miniatures quand on édite une commande, créer un override dans /override/controllers/admin/AdminOrdersController.php et changer la valeur "450" par ce que vous désirez.

<?php
class AdminOrdersController extends AdminOrdersControllerCore
{

	protected function getProducts($order)
	{
		$products = $order->getProducts();

		foreach ($products as &$product)
		{
			if ($product['image'] != null)
			{
				$name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
				// generate image cache, only for back office
				$product['image_tag'] = ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 450, 'jpg');
				if (file_exists(_PS_TMP_IMG_DIR_.$name))
					$product['image_size'] = getimagesize(_PS_TMP_IMG_DIR_.$name);
				else
					$product['image_size'] = false;
			}
		}

		return $products;
	}
}

Ne pas oublier de supprimer vos signatures situé dans /public_html/img/tmp/

 portant le nom de product_mini_xxxxx_xxx .jpg.  Elles seront re-généré lorsque vous afficherez le détail d'une commande coté BO.

 

 

 

Link to comment
Share on other sites

  • 2 years later...
  • 1 year later...
  • 2 months later...
  • 11 months later...

Bonjour,

Pour modifier la taille des images du back office de : Catalogue / Produits, ça se passe ici :

\src\Adapter\ImageManager.php

Et les functions : 
private function getThumbnailTag($imageId, $imageType, $tableName, $imageDir)

&

private function getImagePath($imageId, $imageType, $tableName, $imageDir)

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 weeks later...

Bonjour,

Je reposte car avec Prestashop 1.7.7.2, la modification de la taille dans controller/adminorderscontroller ne fonctionne plus.

Curieusement dans la page commande du back office, l'url de l'image produit se voit attribuer un 0 à la fin exemple : /img/tmp/product_mini_2359_0.jpg?time=1620979652

Cela fait des heures que je cherche... merci pour votre aide.

Edited by boutik-fan (see edit history)
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...