Pregunta

Parece demasiado complicado para que el usuario tenga que esperar para una cada página de recarga que haga clic en "añadir a comparar" para añadir un producto a una lista comparar y quería cambiar thelink con una casilla de verificación y luego añadir un botón que presentará la lista de productos para comparar y le enviará a esa página.

¿Cuál es la mejor manera de hacer esto?

Edit:

Voy a publicar el código que utiliza para que alguien más pueda usarlo en el futuro!

En cada producto, tengo una casilla de verificación de esta manera:

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

A continuación, tengo mi formulario con el botón que me va a enviar a la página de comparación:

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

Y mis js que va a cambiar la acción y enviar el formulario! (No muy elegante que sé, pero funciona):

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();
        });
    });
¿Fue útil?

Solución

Con el fin de añadir un producto para la comparación necesita la siguiente url:

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

Puede añadir varios artículos para comparar al mismo tiempo, mediante la creación de una cadena separados por comas del producto Identificación de.

Se vería algo como esto:

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

Con base en esta información se puede configurar esto con casillas de verificación haciendo lo siguiente:

  • crear un <form>
  • crear casillas de verificación de cada artículo que desea ser capaz de comparar
  • establece la id de cada casilla de verificación para la Identificación del producto
  • añadir algunos js al evento onclick de la casilla de verificación que se suma el id a un coma separada por sring
  • onSubmit tener la form action entra aquí:

    <?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top