Domanda

Sembra troppo ingombrante per l'utente di dover aspettare per un ogni volta ricaricare la pagina fanno clic su "aggiungi al confronto" per aggiungere un prodotto ad un elenco di confronto e volevo cambiare thelink con una casella di controllo e quindi aggiungere un pulsante che presenterà l'elenco dei prodotti per confrontare e poi inviare a quella pagina.

Qual è il modo migliore per fare questo?

Modifica:

Io posto il codice che ho usato in modo che qualcun altro possa utilizzarlo in futuro!

In ciascun prodotto ho una casella di controllo in questo modo:

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

Poi ho il mio modulo con il tasto che mi invierà alla pagina confrontare:

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

E i miei js che cambierà l'azione e inviare il modulo! (Non molto elegante lo so ma funziona):

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();
        });
    });
È stato utile?

Soluzione

Per aggiungere un prodotto per confrontare è necessario il seguente URL:

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

È possibile aggiungere più articoli da confrontare allo stesso tempo con la creazione di un separato stringa delimitata del prodotto id.

Sarebbe simile a questa:

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

In base a queste informazioni è possibile impostare questo in su con le caselle di controllo facendo quanto segue:

  • creare un <form>
  • creare caselle di controllo per ogni elemento che si desidera essere in grado di confrontare
  • impostare il id di ciascuna casella di controllo per l'id del prodotto
  • aggiungere un po 'js per l'evento onclick della casella di controllo che aggiunge il id ad una virgola ha separato sring
  • onSubmit avere la form action andate qui:

    <?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'
    
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top