En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

logo des marques produits

Plus d'informations
il y a 7 ans 5 mois #1 par philippet
logo des marques produits a été créé par philippet
Bonjour,

J'ai vu grâce à alatak que l'on peut faire afficher les logos des marques (manufacturers) dans la fiche produit (template /productdetails)

avec le tableau $this->product->manufacturers
en faisant un foreach
on extrait les images
->images

Serait-il possible d'obtenir ces images dans le Template category?
actuellement, il y a toutes les valeurs de la table manufacturers_fr_fr (francais)
->mf_name
->mf_email
->mf_desc
->mf_url

mais il manque comme pour la fiche produit
les valeurs des images

ceci pour agrémenter la liste des produits avec leurs logos

Est-ce possible d'avoir cela en natif? faut-il réaliser une extension?

à plus et bonnes fêtes ;)
philippet

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 7 ans 5 mois #2 par studio42
Réponse de studio42 sur le sujet logo des marques produits
Bonsoir,
Il faut faire un overide du template pour ajouter les logos(images) des fabricant et ajouter le même code que la fiche produit mais dans la boucle des produits.

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 5 mois #3 par philippet
Réponse de philippet sur le sujet logo des marques produits
bonjour,

merci de votre réponse.

oui j'ai installé un fichier overide dans le répertoire /templates/montemplate/html/com_virtuemart/category/default.php

en insérant ce script:
foreach($product->manufacturers as $manufacturers_details) {
  $manufacturerURL = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturers_details->virtuemart_manufacturer_id, FALSE);
  $name = $manufacturers_details->mf_name;
  ?>
  <a title="<?php echo $manufacturers_details->mf_name; ?>" href="<?php echo $manufacturerURL; ?>">
   <?php
  if (!empty($manufacturers_details->images)) {
  	foreach ($manufacturers_details->images as $imageM){
   
   ?>
   <div class="manufacturer-image text-center panel-body ">
    <?php echo $imageM->displayMediaThumb("",false,""); ?>
   </div>
   <?php
  }
  }
  echo $manufacturers_details->mf_name;
  ?>
  </a>
  <?php
}
?>

mais $product->manufacturers n'existe pas de même ni lien vers virtuemart_manufacturer_medias

comment faîtes vous?

à plus
philippet

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 7 ans 4 mois #4 par studio42
Réponse de studio42 sur le sujet logo des marques produits
Voila le code de base à appliquer :
if($product->virtuemart_manufacturer_id) {
	$mfgModel = VmModel::getModel('manufacturer');
	$mfgModel->setId($product->virtuemart_manufacturer_id);
	$mfg = $mfgModel->getManufacturer();
	$mfgModel->addImages($mfg);
	if($mfg->images[0]->file_url !== 'images/stories/virtuemart/manufacturer/')
		$manThumbImage = $mfg->images[0]->displayMediaThumb("class='man-thumb-image'",false);	
}
$manufacturerProductsURL = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_manufacturer_id=' . $mfg->virtuemart_manufacturer_id); ?>
<a href="<?php echo $manufacturerProductsURL; ?>"><?php echo $manThumbImage ?></a>

Il faudra certainement modifier quelque chose, ceci n'est qu'un example

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 4 mois #5 par philippet
Réponse de philippet sur le sujet logo des marques produits
bonjour studio42,

génial, je comprends l'astuce pour récupérer les logos des manufacturers dans la liste des produits du template /category.php

je viens de voir dans la partie /product details/view.html.php
il y a ce code pour récupérer les images de manufacturers dans la function display:
if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
				$manModel = VmModel::getModel('manufacturer');
				$mans = array();
				// Gebe die Hersteller aus
				foreach($this->product->virtuemart_manufacturer_id as $manufacturer_id) {
					$manufacturer = $manModel->getManufacturer( $manufacturer_id );
					$manModel->addImages($manufacturer);
					$mans[]=$manufacturer;
				}
				$this->product->manufacturers = $mans;
			}

qui ressemble au votre

j'ai testé le votre et celui ci-dessous cela fonctionne:
if (VmConfig::get('show_manufacturers', 1) && !empty($product->virtuemart_manufacturer_id)) {
	$manModel = VmModel::getModel('manufacturer');
	$mans = array();
	// Gebe die Hersteller aus
	foreach($product->virtuemart_manufacturer_id as $manufacturer_id) {
		$manufacturer = $manModel->getManufacturer( $manufacturer_id );
		$manModel->addImages($manufacturer);
		$mans[]=$manufacturer;
	}
	$product->manufacturers = $mans;
}
foreach($product->manufacturers as $manufacturers_details) {
  $manufacturerURL = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturers_details->virtuemart_manufacturer_id, FALSE);
  $name = $manufacturers_details->mf_name;
  ?>
  <a title="<?php echo $manufacturers_details->mf_name; ?>" href="<?php echo $manufacturerURL; ?>">
   <?php
  if (!empty($manufacturers_details->images)) {
  	foreach ($manufacturers_details->images as $imageM){
   
   ?>
   <div class="manufacturer-image text-center panel-body ">
    <?php echo $imageM->displayMediaThumb("",false,""); ?>
   </div>
   <?php
  }
  }
  echo $manufacturers_details->mf_name;
  ?>
  </a>
  <?php
}
?>

Mais est-ce que cela est performant? n'y a-t-il pas une recharge à chaque boucle de VmModel::getModel('manufacturer')?
Est-il possible de le mettre dans /category/view.html.php ?

à plus,
philippet

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 7 ans 4 mois #6 par studio42
Réponse de studio42 sur le sujet logo des marques produits
Sortez ce code de la boucle :
$manModel = VmModel::getModel('manufacturer');
Peut être que d'autres codes sont inutiles. Comme dit, c'est qu'un exemple.

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.