Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

kJlukOo, спасибо, что развиваешь модуль. Возник вопрос, как обновлять его в дальнейшем? Например, после адаптации под тему. Там же файлы будут изменены.

Надіслати
Поділитися на інших сайтах


  • 5 weeks later...

Здравствуйте. страница комплектов /index.php?route=module/all_sets/ ничего не отображает по комплектам

ОС 2.1.0.1

в журнале

 PHP Notice:  Trying to get property of non-object in /..../www/catalog/controller/module/all_sets.php on line 62

PHP Notice:  Trying to get property of non-object in /...../www/catalog/controller/module/all_sets.php on line 66

 

Надіслати
Поділитися на інших сайтах


15 часов назад, alexiv911 сказал:

сам нашел проблему /www/catalog/controller/module/all_sets.php у меня не oc_product, а product

че-то я уведомления провтыкал

в любом случае. спасибо за найденный баг

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

про какие файлы идет речь для адаптации стилей?
по минимуму кнопки/плюсы/рамки в цвет сделать чтоб, без глобальных изменений стиля
И еще вопрос, какое относительно самое большое количество комплектов уже работало на модуле?
Вопрос не к тому потянет или нет и все такое, а к тому что если товаров тысяч 5, комплектов через генератор можно нагородить много, я думаю, а вот управлять ими потом как, удобно?
А то глядя на список комплектов, и что там все списком, мне кажется что может быть не удобно, но т.к сам не работал, поделитесь у кого как, типа 500 комплектов проблем нет

Змінено користувачем ArtemZH
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Здравствуйте, уважаемый автор!

Вопрос по функционалу модуля. Описываю кейс:

  • вижу комплект на вашем демо-сайте. В комплекте 2 товара: товар А и товар Б. Рядом кнопочка "купить комплект". По нажатию кнопочки в корзинке и в подытогах все норм: скидка за комплект есть
  • при раздельном  добавлении в корзину товаров А и Б, не через кнопку "купить комплект" скидка не применяется.

Это норм? Было бы здорово анализировать товары в корзинке на соответствие активным комплектам...

 

upd:

если сначала положить в корзинку товары А и Б, а затем положить еще и комплект, то скидка появится за два комплекта :)

Змінено користувачем 100napb
Надіслати
Поділитися на інших сайтах

11 минут назад, 100napb сказал:

Здравствуйте, уважаемый автор!

Вопрос по функционалу модуля. Описываю кейс:

  • вижу комплект на вашем демо-сайте. В комплекте 2 товара: товар А и товар Б. Рядом кнопочка "купить комплект". По нажатию кнопочки в корзинке и в подытогах все норм: скидка за комплект есть
  • при раздельном  добавлении в корзину товаров А и Б, не через кнопку "купить комплект" скидка не применяется.

Это норм? Было бы здорово анализировать товары в корзинке на соответствие активным комплектам...

 

upd:

если сначала положить в корзинку товары А и Б, а затем положить еще и комплект, то скидка появится за два комплекта

здраст-е. проверятт все комплекты в корзине очень накладно. проверяются только те, которые были добавлены посредством кнопки купить комплект

Надіслати
Поділитися на інших сайтах

 

25 минут назад, 100napb сказал:

Здравствуйте, уважаемый автор!

Вопрос по функционалу модуля. Описываю кейс:

  • вижу комплект на вашем демо-сайте. В комплекте 2 товара: товар А и товар Б. Рядом кнопочка "купить комплект". По нажатию кнопочки в корзинке и в подытогах все норм: скидка за комплект есть
  • при раздельном  добавлении в корзину товаров А и Б, не через кнопку "купить комплект" скидка не применяется.

Это норм? Было бы здорово анализировать товары в корзинке на соответствие активным комплектам...

 

upd:

если сначала положить в корзинку товары А и Б, а затем положить еще и комплект, то скидка появится за два комплекта

попробуйте тоже самое здесь сделать - http://mmscomplect.rumms.ru/desktops/htc-touch-hd предусматривал что комплект может быть в ручную сформирован и несколько комплектов можно в ручную сформировать в корзину

Надіслати
Поділитися на інших сайтах

16 минут назад, MaDMaxX111 сказал:

 

попробуйте тоже самое здесь сделать - http://mmscomplect.rumms.ru/desktops/htc-touch-hd предусматривал что комплект может быть в ручную сформирован и несколько комплектов можно в ручную сформировать в корзину

что енто? :grin:

по клику на товар куча товаров в корзину добавляется

Надіслати
Поділитися на інших сайтах

1 hour ago, kJlukOo said:

здраст-е. проверятт все комплекты в корзине очень накладно. проверяются только те, которые были добавлены посредством кнопки купить комплект

Спасибо за оперативный ответ. Понял.

Планирую в обозримом будущем приобрести модуль - отсюда и вопросы. Если интересно, могу попробовать написать sql-запрос под мускуль, который бы проверял вхождения товаров из комплектов в спецификацию корзинки. Задачка не из невозможных + должно быть не затратно к серверным ресурсам, поскольку это лишь запрос к БД, который, ко всему прочему, самой СУБД должен кешироваться и при повторном выполнении выдывать результат налету. Но я не разработчик модулей, могу чего-то не знать.

 

57 minutes ago, MaDMaxX111 said:

 

попробуйте тоже самое здесь сделать - http://mmscomplect.rumms.ru/desktops/htc-touch-hd предусматривал что комплект может быть в ручную сформирован и несколько комплектов можно в ручную сформировать в корзину 

Спасибо за наводку. Уточните пожалуйста (можно в ЛС, что бы никого не смущать), что это за модуль? Хоть глянуть на функционал и возможности.

Змінено користувачем 100napb
Надіслати
Поділитися на інших сайтах

есть примеры сайтов с модулем?  Хотим начать активно допродавать аксессуары к основному товару.

 

Хороший пример:

https://i-vse.ru/product/apple-iphone-7-32gb-black-chernyy/?yclid=1

Змінено користувачем danineo1
Надіслати
Поділитися на інших сайтах


Здравствуйте вновь. Появился новый вопрос:

как можно сделать связь типа "многие ко многим"? Например:

есть 10 товаров из категории А. И еще 10 товаров из категории Б. Есть задача сделать скидку за комплект типа "любой товар из категории А" + "любой товар из категории Б". Или еще например: при покупке любых двух товаров из категории А получаешь скидку.

Сейчас не вижу иных вариантов, как создавать 100500 комплектов, в которых запутаюсь и я сам, и клиент. Не говоря уже, если я был бы рад добавить еще и категорию В... ))

 

Если пока никак, то это может быть хорошей идей для расширения функционала :)

Надіслати
Поділитися на інших сайтах

21 минуту назад, 100napb сказал:

Здравствуйте вновь. Появился новый вопрос:

как можно сделать связь типа "многие ко многим"? Например:

есть 10 товаров из категории А. И еще 10 товаров из категории Б. Есть задача сделать скидку за комплект типа "любой товар из категории А" + "любой товар из категории Б". Или еще например: при покупке любых двух товаров из категории А получаешь скидку.

Сейчас не вижу иных вариантов, как создавать 100500 комплектов, в которых запутаюсь и я сам, и клиент. Не говоря уже, если я был бы рад добавить еще и категорию В... ))

 

Если пока никак, то это может быть хорошей идей для расширения функционала

многие ко многим пока никак

через генератор один ко многоим

Надіслати
Поділитися на інших сайтах

Just now, kJlukOo said:

многие ко многим пока никак

через генератор один ко многоим

Ок. Есть надежда,что появится в обозримом будущем? Мне личной такой функционал необходим.

Надіслати
Поділитися на інших сайтах

31 минуту назад, 100napb сказал:

Есть задача сделать скидку за комплект типа "любой товар из категории А" + "любой товар из категории Б". Или еще например: при покупке любых двух товаров из категории А получаешь скидку.

вот этим

 

Надіслати
Поділитися на інших сайтах


Столкнулся с еще одной неразрешимой задачкой: это редактирование заказа через админку опенкарта. Пропадают скидки в тех заказах, в которых есть комплекты \ не могу добавить комплекты. В админке, разумеется, кнопочек типа "добавить комплект" нет и скидки учесть не получается.

Уважаемый автор, как быть?

 

  • +1 1
Надіслати
Поділитися на інших сайтах

On 7/26/2018 at 2:46 PM, 100napb said:

Столкнулся с еще одной неразрешимой задачкой: это редактирование заказа через админку опенкарта. Пропадают скидки в тех заказах, в которых есть комплекты \ не могу добавить комплекты. В админке, разумеется, кнопочек типа "добавить комплект" нет и скидки учесть не получается.

Уважаемый автор, как быть?

 

спасение утопающих - дело рук самих утопающих :rolleyes: хотелось бы пошутить, но уж больно проблема остро для меня стоит: очень неудобно редактировать заказы + муторно всем клиентам объяснять, что комплекты работают только через кнопочку.


В общем, что бы не быть голословным и пассивным, решил оказать содействие и набросал вполне рабочий и достаточно быстрый вариант поиска комплектов среди товаров в корзинке. Как раз для тех случаев, когда товары добавляются отдельно (мимо кнопки купить комплект).
Уважаемый Автор! Надеюсь, этот набросок поможет СКОРЕЙШЕМУ появлению соответствующего функционала + его можно использовать и для расчетов в админке при редактировании заказа, что бы скидка не пропадала.

Короче, Я не разработчик, но вроде все отлично работает. Смотри под спойлер.

Spoiler

 

Что я сделал и как проверял?

1. Добавил функцию в контроллер: /catalog/controller/extension/module/sets.php
2. Переходим во фронт. Кладем что-нибудь в корзинку для проверки.
3. В соседней вкладке открываем mydomain.ru/index.php?route=extension/module/sets/FindSetIntoCart и смотрим:
 показываются id-шники товаров в корзине, которые НЕ вошли в комплект;
 показываются id-шники найденных комплектов

 

Проверочные кейсы. В деталях не буду расписывать... бегло проверял следующие:

Кейс 0. "Базовый". Просто проверить, работает или нет: пустая корзина + любой комплект
Кейс 1. "Базовый-2". Просто проверить, работает или нет: пустая корзина + любой товар
Кейс 2. "Срабатывает более выгодный комплект": пока тот, что имеет бОльший % скидки в настройках (сортировка селекта из бд)
Кейс 3. "Двойные комплекты": любой комплект * 2

Кейс 4. "Несколько комплектов в одной корзине" + Кейс 2 + Кейс 3.

Собственно, сама функция с комментариями. Разумеется, это полуфабрикат. Но выходные данные массивов и алгоритм, уверен, можно полезно использовать и органично встроить в модуль, а не как я - выводить вар_дампами. Скорее всего, что-то потребует доработки, но ВСЕ УЖЕ неплохо работает.


   public function FindSetIntoCart () {
        $products_in_cart = $this->cart->GetProducts();
        $product_in_cart_ids = array();
        $find_set = array ();
	
        if (!empty($products_in_cart)) {
            //получаем массив с ид-шниками товаров в корзине, включая дубли id по количеству
            foreach ($products_in_cart as $product){
                foreach (range(1, $product['quantity']) as $i) {
                    $product_in_cart_ids[] = $product['product_id'];
                }
            }

            //на основе товаров из корзины получаем ид-шники комплектов, сортируя их по величине скидки
            //в текущей реализации сортировка тупо из БД: у кого % больше, тот и первый; по-хорошему, надо сортировать массив по итоговой экономии с набора
            //для расчета экономии вроде уже есть функция
            $sets_in_cart_query = $this->db->query("SELECT distinct okp.set_id FROM oc_kjset_product okp, oc_kjset ok WHERE ok.id = okp.set_id AND ok.status = 1 and okp.product_id IN (". implode(',', $product_in_cart_ids) .") GROUP BY okp.product_id, okp.set_id ORDER BY okp.discount DESC;");
            if ($sets_in_cart_query->num_rows){
                foreach ($sets_in_cart_query->rows as $set_id){
                    $set_in_cart_ids[] = $set_id['set_id'];            
                }
            }

            //получаем для каждого найденного комплекта ид-шники входящих в него товаров и ищем их в корзине            
            $find_set = array();
            $find = array();
            foreach ($set_in_cart_ids as $set_id){
                foreach ($this->db->query("SELECT okp.product_id FROM oc_kjset_product okp, oc_kjset ok WHERE ok.id = okp.set_id AND ok.status = 1 AND okp.set_id = ". $set_id .";")->rows as $product_id){
                    $product_in_set_ids[] = $product_id['product_id'];        
                }
		$end = false;
		//зацикливаем поиск каждого комплекта на случай, если их в корзине больше 1
		while(!$end){
                if (!empty($product_in_set_ids)){
                    //если в составе комплекта 2 и более одинаковых товара
                    if (count(array_unique($product_in_set_ids)) < count($product_in_set_ids)){
                        // находим товары комплекта в корзине
                        $product_in_set_ids_ = $product_in_set_ids;
                        $find = array_filter($product_in_cart_ids,
                        function ($val) use (&$product_in_set_ids_) {
                                $key = array_search($val, $product_in_set_ids_);
                                if ( $key === false ) return true;
                                unset($product_in_set_ids_[$key]);
                                return false;
                              }    
                        );
                        //  нашли! удаляем товары комплекта из массива товаров  корзины, что бы не считать их дважды        
                        if ((count($find) + count($product_in_set_ids)) == count($product_in_cart_ids)) {
                            $product_in_cart_ids = $find;        
                            $find_set[] = $set_id;      
				echo '1';      
                        }  else {$end = true;}  
                    }
                    //если в составе комплекта все товары разные
                    else {
                        $find = array_diff($product_in_set_ids, $product_in_cart_ids);
                        if (count($find) == 0) {
                            $find_set[] = $set_id;
				echo '2';
                            // находим и удаляем товары комплекта из массива товаров в корзине, что бы не считать их дважды
                            $counts = array_count_values($product_in_set_ids);
                            $product_in_cart_ids = array_filter($product_in_cart_ids, function($o) use (&$counts) {
                                    return empty($counts[$o]) || !$counts[$o]--;
                            });    
                        } else {$end = true;}
                    }
                }
		}
                unset($product_in_set_ids, $find);
            }
        }
		print_r('Finded sets in the cart: ' . implode(',', $find_set) . '</br>');
		print_r('Theese products in the cart has NO sets: ' . implode(',', $product_in_cart_ids) . '</br>');
	}


 

 

 

  • +1 2
Надіслати
Поділитися на інших сайтах

я слышал уже о подобной проблему. вскоре доберусь и попробую разобраться. проблему понял

за набросок большое спасибо. попробую его

Надіслати
Поділитися на інших сайтах

Привет. Такая ситуация. Стоит Ваш модуль комплектов ПРО. Делаю генерацию комплектов, все работает - проблем нет.

На фронте считаю скидки - не совпадает у меня итоговая с подсчетом модуля - на скрине все видно:

1675673211_2018-08-0111_11_46.png.3a38d319c598f721e6095086958863a7.png

И так во всех товарах.

И еще пожелания по развитию:

1. Добавить округление до десятых цене  - сейчас на скрине 17,73, а выводить 17,70. Как я понял округление работает только в итогах.

2. В массовом управлении комплектами, когда в поле Наименование вбиваешь название, чтоб посмотреть какие товары выбрало - надо нажать кнопку "Показать кол-во найденных товаров", после чего всплывает окошко с перечнем товаров, которые попали под фильтр - не совсем удобно, но привыкаешь. Но очень бы хотелось сделать это окно более функциональным, а именно - добавить возможность удалить не нужный товар из этого списка, каким-то крестиком - сейчас это просто перечень информационный...

 

Спасибо. Жду исправлений и доработок...

 

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Нужна ли адаптация модуля «КомплектыPro 2.1» для его установки и корректной работы на шаблоне Revolution v.4.0.4?

да, но всегда есть в настройках бесплатный редирект в корзину после нажатия кнопки купить

--

1 У меня тоже революшен, я так понимаю что адаптация платная, то сколько? Или на популярные шаблоны может планируется?

2 В модуле ОСТРАЯ необходимость редактирования комплектов, я несколько дней потестил, и это жесть какая-то не реальная, не знаю как люди работают с комплектами на боевом сайте и подобный вопрос задавал ранее,

если нужно изменить комплект, то получается нужно старый удалить, а ты его еще попробуй найди в общем списке, а потом уже добавляй новый с изменениями. Нужно что-то вроде фильтра по комплектам, выбрал нужные данные, типа категории/бренд/и тд, вывелись все соответствующие комплекты, выбрал нужный или галочки на несколько поставил, и потом редактируешь как при создании или прям в общем списке комплектов чтоб можно было добавлять/удалять/заменять позиции в комплекте

3 После добавления нового комплекта, при переключении в общий список он не появляется пока страницу не обновишь, какую-нибудь бы кнопку обновить/применить
4 в наименовании товара, когда забиваешь имя товары нет подсказок, с ними было бы намного удобнее, а так, вбил частичное название и пошел смотреть что отобразилось в кнопке "показать кол-во найденных товаров". А еще если искать по части имени конкретный товар, но эта часть входит в название другого, то в списке выводятся они оба, выбрать нужный нельзя, приходится вернуть и вписывать либо полное название, либо как-то выкручиваться чтоб исключить совпадение

Пример: мне нужно найти эссенцию moist, пишу в наименование moist, в показать кол-во найденных товаров выдает 66 совпадений по товарам, потому что moist входит более популярное moisture, примерно так, с подсказками было бы легче

5 про обновление, комплекты набивать руками, вообще не понял и не нашел где это

 

 

 

Надіслати
Поділитися на інших сайтах


6 hours ago, ArtemZH said:

Нужна ли адаптация модуля «КомплектыPro 2.1» для его установки и корректной работы на шаблоне Revolution v.4.0.4?

да, но всегда есть в настройках бесплатный редирект в корзину после нажатия кнопки купить

--

1 У меня тоже революшен, я так понимаю что адаптация платная, то сколько? Или на популярные шаблоны может планируется?

2 В модуле ОСТРАЯ необходимость редактирования комплектов, я несколько дней потестил, и это жесть какая-то не реальная, не знаю как люди работают с комплектами на боевом сайте и подобный вопрос задавал ранее,

если нужно изменить комплект, то получается нужно старый удалить, а ты его еще попробуй найди в общем списке, а потом уже добавляй новый с изменениями. Нужно что-то вроде фильтра по комплектам, выбрал нужные данные, типа категории/бренд/и тд, вывелись все соответствующие комплекты, выбрал нужный или галочки на несколько поставил, и потом редактируешь как при создании или прям в общем списке комплектов чтоб можно было добавлять/удалять/заменять позиции в комплекте

3 После добавления нового комплекта, при переключении в общий список он не появляется пока страницу не обновишь, какую-нибудь бы кнопку обновить/применить
4 в наименовании товара, когда забиваешь имя товары нет подсказок, с ними было бы намного удобнее, а так, вбил частичное название и пошел смотреть что отобразилось в кнопке "показать кол-во найденных товаров". А еще если искать по части имени конкретный товар, но эта часть входит в название другого, то в списке выводятся они оба, выбрать нужный нельзя, приходится вернуть и вписывать либо полное название, либо как-то выкручиваться чтоб исключить совпадение

Пример: мне нужно найти эссенцию moist, пишу в наименование moist, в показать кол-во найденных товаров выдает 66 совпадений по товарам, потому что moist входит более популярное moisture, примерно так, с подсказками было бы легче

5 про обновление, комплекты набивать руками, вообще не понял и не нашел где это

 

 

 

Поддерживаю и прошу добавить к своим предложениям!

Автор, как-то, мягко говоря, не самая оперативная поддержка PRO модуля... :evil:

Надіслати
Поділитися на інших сайтах


1. адаптация платная. 400р. из-за того, что разные версии разных шаблонов используют разный жаваскрипт и разные модификации. не уследишь

2. очистка комплектов работает так же по фильтру как и подбор. т.е если есть цель перегенерить комплекты для целой категории. выбираем категорию в генераторе жмем очистить. выбираем что хотим жмем подобрать 1 раз. выбираем что хотим жмем подобрать 2 раз и в итоге всё по кайфу

3. знаю. а зачем смотреть в общий список после каждого добавленного?

4. найденные товары, это те товары к которым произойдет привязка. в фильтре не только наименование, а еще и категория, производитель и тд

если товары с одной категории и имеют одинаковое название, значит им во всех случая подойдёт один комплект. если уже сгенерился можно зайти во вкладку всех комплектов и удалить там ненужные

5. не понимаю о чем вы вообще

 

на счет округления цен товаров - зачем? есть общее округление

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.