Frage

Es scheint zu umständlich für den Benutzer zu warten, bis eine Seite neu laden jedesmal, wenn Sie klicken Sie auf "add to compare", um ein Produkt hinzuzufügen, um eine Liste vergleichen und das wollte ich ändern thelink mit einem Kontrollkästchen und fügen Sie dann eine Schaltfläche, senden Sie die Liste von Produkten zu vergleichen, und dann senden Sie die Seite.

Was ist der beste Weg, dies zu tun?

Edit:

Ich poste den code, den ich verwendet, damit jemand anderes es verwenden können in die Zukunft!

In jedem Produkt habe ich eine checkbox wie diese:

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

Dann habe ich meine form mit der Taste, und senden Sie mir die Vergleiche Seite:

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

Und meine js, ändert sich die Handlung und das Formular abschicken!(nicht sehr elegant, ich weiß, aber es funktioniert):

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();
        });
    });
War es hilfreich?

Lösung

Um ein Produkt zu vergleichen, müssen Sie die folgende url:

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

Sie können mehrere Artikel zu vergleichen, die zur gleichen Zeit, indem Sie eine durch Kommas getrennte Zeichenfolge von die Produkt-id ist.

Es würde wie folgt Aussehen:

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

Basierend auf diesen Informationen können Sie diese einrichten mit Kontrollkästchen, indem Sie Folgendes tun:

  • erstellen Sie eine <form>
  • erstellen Kontrollkästchen für jedes Element, das Sie möchten, um vergleichen zu können
  • legen Sie die id jedes Kontrollkästchen, um die id des Produkts
  • fügen Sie einige js, um das onclick-Ereignis der checkbox fügt hinzu, dass die id eine durch Kommas getrennten String
  • onSubmit die form action gehen Sie hier:

    <?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'
    
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top