Помощь Добавление всех комбинаций в корзину PS 1.7

Absolute

Крокодил ;)
Регистрация
9 Авг 2009
Сообщения
581
Реакции
456
Может быть кто-нибудь сталкивался. Нужно сделать чекбокс напротив группы атрибутов, чтобы при его выборе в корзину улетели сразу все комбинации данной группы.
Типа ...

Размер:
- M
- XL
- XXL


stock_form-checkbox-16.png
Выбрать весь размерный ряд.
 
Может быть кто-нибудь сталкивался. Нужно сделать чекбокс напротив группы атрибутов, чтобы при его выборе в корзину улетели сразу все комбинации данной группы.
Типа ...

Размер:
- M
- XL
- XXL


stock_form-checkbox-16.png
Выбрать весь размерный ряд.

когда-то на 1.6 решали похожую задачу так:
Для просмотра ссылки Войди или Зарегистрируйся

upload_2018-11-27_22-54-17.png
 
когда-то на 1.6 решали похожую задачу так:
Для просмотра ссылки Войди или Зарегистрируйся

Посмотреть вложение 100108
Attribute Grid - классный модуль, жаль в паблике для 1.7 нет его.
Я вроде как сделал, но не по группам, а просто все комбинации - для меня не критично. Если кому вдруг понадобится...
/themes/alysum/templates/catalog/product.tpl
после:
Код:
                  {block name='product_variants'}
                    {include file='catalog/_partials/product-variants.tpl'}
                  {/block}
Добавить:
Код:
                  {if $product.id_product_attribute}
                     <label>Выбрать все  <input type="checkbox" name="all"> </label>
                {/if}

/controllers/front/CartController.php
Метод Product::getProductAttributesIds возвращает id всех доступных атрибутов, processChangeProductInCart - обновляет инфу
функция updateCart()
вместо:
Код:
      if (Tools::getIsset('add') || Tools::getIsset('update')) {
                $this->processChangeProductInCart();
            }
пишем:
Код:
            if (Tools::getIsset('add') || Tools::getIsset('update')) {
                 if(Tools::getValue('all')){
                    $arr = Product::getProductAttributesIds($this->id_product);
                    foreach($arr as $key => $val){
                        $this->processChangeProductInCart($val['id_product_attribute']);
                    }
                } else {
                    $this->processChangeProductInCart();
                }
            }
Функция processChangeProductInCart
было:
Код:
processChangeProductInCart()
стало:
Код:
processChangeProductInCart($id_product_attr = false)
было:
Код:
        if (Tools::getIsset('group')) {
            $this->id_product_attribute = (int)Product::getIdProductAttributesByIdAttributes(
                $this->id_product,
                Tools::getValue('group')
            );
        }
стало:
Код:
        if (Tools::getIsset('group') && !$id_product_attr) {
            $this->id_product_attribute = (int)Product::getIdProductAttributesByIdAttributes(
                $this->id_product,
                Tools::getValue('group')
            );
        } elseif (Tools::getValue('all')) {
            $this->id_product_attribute = $id_product_attr;
        }
В общем добавит каждую комбинацию в корзину указанное в поле "количество" раз.
 
Последнее редактирование:
Для просмотра ссылки Войди или Зарегистрируйся - по скринам вроде то что вам нужно. 30 евро - просто копейки по сравнению с тем, если делать это самому или пробовать реализовать через одно место
 
Для просмотра ссылки Войди или Зарегистрируйся - по скринам вроде то что вам нужно. 30 евро - просто копейки по сравнению с тем, если делать это самому или пробовать реализовать через одно место
MyPresta знают nulled :D

989889.1544187657.png

А по теме - этот модуль очень похож на Attribute Grid от Presta Changeo, который приводил выше _sashok. На текущий момент меня устраивает моя реализация, тестировал, скопом комбинации улетают в корзину.
 
да я как-то никогда их не видел, много интересных модулей у них нашел на сайте
 
Назад
Сверху