Вопрос

Это кажется слишком громоздким, чтобы пользователю пришлось ждать перезагрузку страницы каждый раз, когда он нажимает «Добавить в сравнение», чтобы добавить продукт в список сравнения, и я хотел изменить Thelink с флажкой, а затем добавить кнопку, которая отправит Список продуктов для сравнения, а затем отправьте вас на эту страницу.

Как лучше всего это сделать?

Редактировать:

Я опубликую код, который я использовал, чтобы кто -то другой мог использовать его в будущем!

В каждом продукте у меня есть флажок, как это:

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

Тогда у меня есть форма с кнопкой, которая отправит меня на страницу сравнения:

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

И мой JS, который изменит действие и отправит форму! (Я знаю не очень элегантно, но это работает):

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();
        });
    });
Это было полезно?

Решение

Чтобы добавить продукт для сравнения, вам нужен следующий URL:

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

Вы можете добавить несколько элементов для сравнения одновременно, создав отделенную запятую строку идентификатора продукта.

Это выглядело бы примерно так:

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

На основании этой информации вы можете настроить ее с помощью флажков, выполнив следующее:

  • создать <form>
  • Создайте флажки для каждого элемента, который вы хотите, чтобы сравнить
  • установить id каждого флажки на идентификатор продукта
  • Добавьте немного JS в событие флажести OnClick, которое добавляет id к запятой отдельно
  • onSubmit иметь form action иди сюда:

    <?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'
    
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top