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

[Résolu] Modifier le lien des images en categories pour ouvrir en popup et non la page détails produits

Plus d'informations
il y a 7 ans 6 mois #1 par netajour
Bonjour à tous,

J'essaie sans succès de modifier le lien image (thumb) qui est affiché en liste par catégorie. Par défaut Virtuemart 3 fait un lien sur les images qui envoie sur la page produit.
Je voudrais que ce lien ouvre plutot l'image en grand avec la fancy box.
J'ai tenté de reprendre le codes de la page produits mais si j'arrive à faire le lien vers l'iumage en grand, elle s'ouvre sur une nouvelle page du navigateur et pas en pop-up.
J'ai bien collé le code de Facy et l'appel en JHTML mais sans succès.

Merci de votre aide.

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 6 mois #2 par studio42
Bonjour,
Merci d'indiquer le lien vers une des pages de catégorie avec le code modifier, ce sera plus simple.

Cordialement
Patrick K.

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 6 mois #3 par netajour
Bonjour et merci de votre réponse

Cela concerne toutes les catégories comme celle ci : www.zaomakeup.com/dev/revendeurs/acces-m.../bambou/bambou-teint

J3 & VM3 pour les versions

Les codes :
Page product : /components/com_virtuemart/sublayouts/products.php
<?php
/**
 * sublayout products
 *
 * @package	VirtueMart
 * @author Max Milbers
 * @link http://www.virtuemart.net
 * @copyright Copyright (c) 2014 VirtueMart Team. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL2, see LICENSE.php
 * @version $Id: cart.php 7682 2014-02-26 17:07:20Z Milbo $
 */

defined('_JEXEC') or die('Restricted access');

$products_per_row = $viewData['products_per_row'];
$currency = $viewData['currency'];
$showRating = $viewData['showRating'];
$verticalseparator = " vertical-separator";
echo shopFunctionsF::renderVmSubLayout('askrecomjs');

$ItemidStr = '';
$Itemid = shopFunctionsF::getLastVisitedItemId();
if(!empty($Itemid)){
	$ItemidStr = '&Itemid='.$Itemid;
}

foreach ($viewData['products'] as $type => $products ) {

	$rowsHeight = shopFunctionsF::calculateProductRowsHeights($products,$currency,$products_per_row);

	if(!empty($type) and count($products)>0){
		$productTitle = vmText::_('COM_VIRTUEMART_'.strtoupper($type).'_PRODUCT'); ?>

<div class="<?php echo $type ?>-view">
  <h4><?php echo $productTitle ?></h4>
		<?php // Start the Output
    }

	// Calculating Products Per Row
	$cellwidth = ' width'.floor ( 100 / $products_per_row );

	$BrowseTotalProducts = count($products);

	$col = 1;
	$nb = 1;
	$row = 1;

	foreach ( $products as $product ) {

		// Show the horizontal seperator
		if ($col == 1 && $nb > $products_per_row) { ?>
	<div class="horizontal-separator"></div>
		<?php }

		// this is an indicator wether a row needs to be opened or not
		if ($col == 1) { ?>
	<div class="row">
		<?php }

		// Show the vertical seperator
		if ($nb == $products_per_row or $nb % $products_per_row == 0) {
			$show_vertical_separator = ' ';
		} else {
			$show_vertical_separator = $verticalseparator;
		}

    // Show Products ?>
	<div class="product vm-col<?php echo ' vm-col-' . $products_per_row . $show_vertical_separator ?>">
		<div class="spacer">
			<div class="vm-product-media-container">

					<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>"></a>
						<?php /** @todo make image popup */
					vmJsApi::addJScript('imagepopup',$imageJS);
					echo $product->images[0]->displayMediaThumb ('class="imagepopup" border="0" title="' . $product->product_name . '" ', TRUE, 'class="imagepopup"');
					?>
					

			</div>

			<div class="vm-product-rating-container">
				<?php echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$showRating, 'product'=>$product));
				if ( VmConfig::get ('display_stock', 1)) { ?>
					<span class="vmicon vm2-<?php echo $product->stock->stock_level ?>" title="<?php echo $product->stock->stock_tip ?>"></span>
				<?php }
				echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$product));
				?>
			</div>


				<div class="vm-product-descr-container-<?php echo $rowsHeight[$row]['product_s_desc'] ?>">
					<h2><?php echo JHtml::link ($product->link.$ItemidStr, $product->product_name); ?></h2>
					<?php if(!empty($rowsHeight[$row]['product_s_desc'])){
					?>
					<p class="product_s_desc">
						<?php // Product Short Description
						if (!empty($product->product_s_desc)) {
							echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 60, ' ...') ?>
						<?php } ?>
					</p>
			<?php  } ?>
				</div>


			<?php //echo $rowsHeight[$row]['price'] ?>
			<div class="vm3pr-<?php echo $rowsHeight[$row]['price'] ?>"> <?php
				echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency)); ?><br\>
				<div class="clear"></div>

			</div>
			<?php //echo $rowsHeight[$row]['customs'] ?>
			<div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
				echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row])); ?>
			</div>



		</div>
	</div>

	<?php
    $nb ++;

      // Do we need to close the current row now?
      if ($col == $products_per_row || $nb>$BrowseTotalProducts) { ?>
    <div class="clear"></div>
  </div>
      <?php
      	$col = 1;
		$row++;
    } else {
      $col ++;
    }
  }

      if(!empty($type)and count($products)>0){
        // Do we need a final closing row tag?
        //if ($col != 1) {
      ?>
    <div class="clear"></div>
  </div>
    <?php
    // }
    }
  }

Pour moi Fancy est chargé car le bouton add to cart avec le Fancy de VM est ok.

Merci
Rodolphe

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 6 mois - il y a 7 ans 6 mois #4 par studio42
recherchez
	jQuery(document).ready(function($) {
		
			$('a.ask-a-question, a.printModal, a.recommened-to-friend, a.manuModal').click(function(event){
              event.preventDefault();
		      $.fancybox({
		        href: $(this).attr('href'),
		        type: 'iframe',
		        height: 550
		        });
		      });
			
	});
remplacez par
	jQuery(document).ready(function($) {
		
			$('a.ask-a-question, a.printModal, a.recommened-to-friend, a.manuModal, a.imagepopup').click(function(event){
              event.preventDefault();
		      $.fancybox({
		        href: $(this).attr('href'),
		        type: 'iframe',
		        height: 550
		        });
		      });
			
	});

la difference est a.imagepopup dans les lien à rendre en modal

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!
Dernière édition: il y a 7 ans 6 mois par studio42.

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

Plus d'informations
il y a 7 ans 6 mois #5 par netajour
C'était bien ca merci !
A un détail prêt (je suis pénible :-)
Comme j'essaie d'obtenir la même chose en affichage catégorie qu'en affichage détail produit.
Seule différence subsistante : le redimensionnement de l'image dans le pop-up qui marche sur la page détail et pas en catégorie.
Je continue de chercher et viendrait donner la soluce complète.
Mais si vous avez une idée je suis preneur

En tout cas MERCI !

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 6 mois - il y a 7 ans 6 mois #6 par studio42
Une meilleur solution, ajouter :
		jQuery(".imagepopup").fancybox({
			"titlePosition" 	: "inside",
			"transitionIn"	:	"elastic",
			"transitionOut"	:	"elastic"
		});
mais oubliez l'ancienne modif.

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!
Dernière édition: il y a 7 ans 6 mois par studio42. Raison: typo

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

Plus d'informations
il y a 7 ans 6 mois #7 par netajour
Merci de votre réponse.
J'ai opté pour un non resize car effectivement je ne suis pas arrivé à intégrer vos derniers codes.
Mais bon résultat ok il faut bien suivre ce post pour faire la même chose.
Je précise que les appli java et autres sont appelé dans VM 3 dans le dossier /component/com_virtuemart/sublayout/aslrecomjs.php.

Encore merci de votre aide.

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