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 10 ans 9 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 10 ans 9 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 10 ans 9 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 10 ans 9 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 10 ans 9 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 10 ans 9 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.