addtocart_popup_image_size = 200

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
4 years 10 months ago #314378

Bonjour

j'ai cree une entree qui n'existait pas dans la config* : addtocart_popup_image_size = 200 pour éviter le $imageSize = (int)$config->get('addtocart_popup_image_size', 50); mais j'ai toujours des image générées automatiquement dans thumbnails/50x50 alors que nulle part je n'ai d'images en 50 ; j'ai aussi contrôlé dans media /emails

A quel autre endroit ces 50x50 peuvent etre appelés ?

Pourquoi a plusieurs endroits les $imageHelper->getThumbnail($file->file_path, array(100, 100) ... ont ils des valeurs en dur comme 50,50 ou 100,100 ? et non des valeurs lues dans la config


* INSERT INTO `#__hikashop_config` (`config_namekey`, `config_value`, `config_default`) VALUES ('addtocart_popup_image_size', '200', '200');

merci

Last edit: 4 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
4 years 10 months ago #314386

je viens de trouver que ces 50x50 correspondent a l'ajout a la liste des favoris alors que les icones sont en 200x200

Last edit: 4 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 82867
  • Thank you received: 13374
  • MODERATOR
4 years 10 months ago #314395

Bonjour,

Pour le backend et les emails de notification, la taille des miniatures est forcée car elle est adaptée à la mise en page que nous avons à ces endroits.

Pour votre cas avec l'ajout à la liste des favoris, c'est le code:

$img = $imageHelper->getThumbnail($image_path, array(50,50), array('default' => true), true);
dans la fonction getAjaxCartData du fichier components/controllers/product.php qui fait cela pour l'affichage de la boîte de notification d'ajout par le plugin HikaShop cart notification.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
4 years 10 months ago #314419

merci mais pourquoi 50 en dur alors qu'il devrait lire la valeur de addtocart_popup_image_size

$imageSize = (int)$config->get('addtocart_popup_image_size', 50);
.....
if($imageSize > 0) {
$img = $imageHelper->getThumbnail($image_path, array($imageSize,$imageSize), array('default' => true), true);

si $imageSize > 0 pourquoi ne pas l'utiliser ?

Last edit: 4 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
4 years 10 months ago #314423

j'ai change la function mais ce serait mieux en natif dans la 4.2.3

protected function getAjaxCartData($data, $cart, $status) {
		
		$config = hikashop_config();
		$imageSize = (int)$config->get('addtocart_popup_image_size', 50);
		
		$ret = array(
			'ret' => (int)$status
		);
		if(!empty($cart->messages))
			$ret['messages'] = $cart->messages;

		if(empty($cart->cart_products))
			$ret['empty'] = true;

		if(!empty($data['type']) && $data['type'] == 'product' && !empty($data['form']) && count($data['form'])) {
			$added = array();
			foreach($data['form'] as $prod => $qty) {
				if($qty)
					$added[] = array('product' => $prod, 'quantity' => $qty);
			}

			if(count($added) == 1) {
				$data = array_merge($data,$added[0]);
			}
		}

		if(!isset($data['product']))
			return $ret;

		$imageHelper = hikashop_get('helper.image');
		if(!empty($cart->products)) {
			foreach($cart->products as $product) {
				if($product->product_id != $data['product'])
					continue;

				$ret['product_name'] = $product->product_name;
				$ret['quantity'] = (int)$product->cart_product_quantity;

				if($imageSize > 0) {
					$image_path = (isset($product->images[0]->file_path) ? $product->images[0]->file_path : '');
					$img = $imageHelper->getThumbnail($image_path, array($imageSize,$imageSize), array('default' => true), true);
					if($img->success)
						$ret['image'] = $img->url;
				}
				break;
			}
		}
		if(!isset($ret['product_name'])) {
			$productClass = hikashop_get('class.product');
			$product = $productClass->getProduct($data['product']);
			$ret['product_name'] = $product->product_name;
			$ret['quantity'] = 0;

			$image_path = ((isset($product->parent) && isset($product->parent->images[0]->file_path)) ? $product->parent->images[0]->file_path : '');
			$image_path = (isset($product->images[0]->file_path) ? $product->images[0]->file_path : $image_path);
			$img = $imageHelper->getThumbnail($image_path, array($imageSize,$imageSize), array('default' => true), true);
			if($img->success)
				$ret['image'] = $img->url;
		}

		if(!empty($cart->messages)) {
			foreach($cart->messages as $msg) {
				if(empty($msg['product_id']) || (int)$msg['product_id'] != $data['product'])
					continue;
				$ret['message'] = $msg['msg'];
				break;
			}
		}

		return $ret;
	}

Last edit: 4 years 10 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 82867
  • Thank you received: 13374
  • MODERATOR
4 years 10 months ago #314422

Bonjour,

C'est en effet une remarque pertinente. L'option cachée a été ajoutée à moitié sans remplacer les '50' dans les appels getThumbnail à cet endroit.
Nous allons changer cela pour la prochaine version. Merci d'avoir pointé cela, nous étions passé à coté.

The following user(s) said Thank You: erickb

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
4 years 10 months ago #314447

merci

Please Log in or Create an account to join the conversation.

Time to create page: 0.073 seconds
Powered by Kunena Forum