Question

Il semble trop lourd pour l'utilisateur d'avoir à attendre une page reload chaque fois qu'ils cliquent sur « ajouter à comparer » pour ajouter un produit à une liste comparer et je voulais changer thelink avec une case à cocher, puis ajoutez un bouton présentera la liste des produits à comparer et vous envoyer à cette page.

Quelle est la meilleure façon de le faire?

Edit:

Je vais poster le code je pour que quelqu'un d'autre ne peut l'utiliser dans l'avenir!

Dans chaque produit que j'ai une case à cocher comme ceci:

<input class="idcompare" type="checkbox" name="idcompare<?php echo $_product->getId();?>" value="<?php echo $_product->getId();?>">Compare

Alors j'ai ma forme avec le bouton qui me envoyer à la page comparer:

<form id="comparelist">
    <button type="button" title="<?php echo $this->__('Compare') ?>" class="button"><span><span><?php echo $this->__('Compare') ?></span></span></button>
</form>

Et mes js qui changera l'action et soumettre le formulaire! (Je sais pas très élégant mais il fonctionne):

jQuery(document).ready(function() {
        jQuery('#comparelist .button').click(function(){

            var i=0;
            var prdString="";

            var prdString = jQuery.map(jQuery(':checkbox:checked'), function(n, i){
                  return n.value;
            }).join(',');


            var url='<?php echo Mage::getUrl('catalog/product_compare/index').'items/'; ?>'+ prdString + '/uenc/';
            jQuery('#comparelist').attr('action', url);
            jQuery('#comparelist').submit();
        });
    });
Était-ce utile?

La solution

Pour ajouter un produit à vous comparer besoin de l'adresse suivante:

<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + productID + '/uenc/'

Vous pouvez ajouter plusieurs articles à comparer en même temps en créant une virgule chaîne du seperated

id de produit.

Il ressemblerait à quelque chose comme ceci:

<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/10,23,456,8/uenc/'

Sur la base de cette information, vous pouvez le définir avec des cases à cocher en procédant comme suit:

  • créer un <form>
  • créer des cases à cocher pour chaque élément que vous voulez être en mesure de comparer
  • définir la id de chaque case de l'identifiant du produit
  • ajouter quelques js à l'événement onclick de la case à cocher qui ajoute le id à une virgule Séparées Sring
  • onSubmit ont le form action aller ici:

    <?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top