Comparar productos utilizando una casilla de verificación
-
16-10-2019 - |
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();
});
});
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 laform action
entra aquí:<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'