JoomShopping и товары с атрибутами

  • 35 Ответов
  • 3221 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

pH43

  • ****
  • 291
  • 8
День добрый! Возникла такая проблема:

У товара есть количество и несколько атрибутов: цвет, размер, материал
Покупатель выбирает, например, 5 штук, цвет зеленый, размер XS, материал хлопок и переходит к покупке и в корзине видит список товаров - всё норм.
НО, если он решит изменить, например, материал, то из корзины (нажав на товар) перейдёт обратно к нему, а все настройки уже сбросятся, и придется заново, и количество, и размер и цвет, и материал выбирать.

Всё бы ничего, но если это будет, например, компьютер и там около 20 таких атрибутов... Можно как-нибудь зафиксировать его выбор, закешировать? Чтобы при его возвращении было видно количество товара и все атрибуты, которые покупатель выбрал.
« Последнее редактирование: 21.07.2014, 03:39:51 от pH43 »

*

Linfuby

  • ******
  • 1239
  • 174
  • Всё просто...
Re: JoomShopping и товары с атрибутами
« Ответ #1 : 08.07.2014, 15:42:30 »
В стоке такого нет и вряд ли удастся обойтись малой кровью.
Потому что по факту надо менять ссылку в корзине с учетом выбранных атрибутов. А насколько я знаю ЖШ к сожалению не имеет возможности указывать внешние ссылки с определенными выбранными атрибутами.
Хотя идея по сути имеет право на жизнь
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #2 : 08.07.2014, 23:13:41 »
А в VirtueMart как эта задача решена? Также всё обнуляется?

*

nevigen

  • *****
  • 8832
  • 754
  • http://n*****n.com
Re: JoomShopping и товары с атрибутами
« Ответ #3 : 08.07.2014, 23:27:23 »
а причем тут VirtueMart ?
а в себлоде решена ?
а в хайкашопе ?

тут ЖШ обсуждают.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #4 : 08.07.2014, 23:29:06 »
пардон)
Ну а если в джумшоппинге сохранять выбираемые на странице продукта параметры в куках? Попробую сделать так, чтобы выбранные из выпадающих списков параметры атрибутов сохранялись через куки, таким образом при возвращении на страницу товара, покупатель будет видеть свой предыдущий выбор и останется только изменить часть параметров на нужные и заново приобрести товар.
« Последнее редактирование: 09.07.2014, 02:36:27 от pH43 »

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #5 : 13.07.2014, 21:08:56 »
В принципе получилось через куки при возвращении сделать так, чтобы "в выбранных" фиксировались те параметры, которые заказчик выставил при заказе. Но возникла другая проблема - если заказчик захочет взять еще такой же товар и добавит его с другими параметрами в корзину, а потом захочет отредактировать первый товар, то этого сделать не получится, т.к. куки каждый раз будут выдавать ему настройки Последнего купленного товара... Бесперстпективняк.

*

Linfuby

  • ******
  • 1239
  • 174
  • Всё просто...
Re: JoomShopping и товары с атрибутами
« Ответ #6 : 14.07.2014, 10:57:51 »
Как я и сказал:
вряд ли удастся обойтись малой кровью.
Но это не бесперспективняк.
Вам сказали что нет вариантов, но Вы продолжили их искать и пробовать. Если не опускать руки - все получится.
"Немного воображения и логики, и любая проблема становится решенной" ©
Начните с изучения контроллера и такой интересной переменной в сессии как product_back_value. Именно эта переменная позволяет оставлять выбранные атрибуты у товара, если будет ошибка при добавлении товара в корзину.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #7 : 15.07.2014, 03:49:38 »
Столкнулся с неприятной проблемой, если использую около 10 атрибутов у товара - перестает считать конечную сумму, но при добавлении товара в корзину - сумма высвечивается верная. Тестирую на локалке. Это из-за нагрузки или где-то что-то упустил?

*

dmitry_stas

  • ********
  • 9651
  • 929
Re: JoomShopping и товары с атрибутами
« Ответ #8 : 15.07.2014, 10:44:58 »
надо посмотреть в консоли Фаирбага при изменении атрибута какой ответ приходит, и в чем именно ошибка
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #9 : 15.07.2014, 14:24:08 »
Видимо, слишком много атрибутов и все обязательные.
А где можно выставить, что атрибут не обязательный?
Например, если товар - кроссовки и к ним можно выбрать дополнительные шнурки, а можно их не брать. Цена при выборе дополнительных шнурков будет больше на 50 руб., но их вообще не обязательно покупать.

В выпадающем списке стоит :

Шнурки:
- Выберите -
- Дополнительные красные шнурки -
- Дополнительные розовые шнурки -
- Дополнительные белые шнурки -

Цену не считает, пока не выберу хотя бы одни из шнурков.
« Последнее редактирование: 15.07.2014, 14:41:46 от pH43 »

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #10 : 15.07.2014, 14:59:52 »
Убрал галку  "Первое значение атрибута - пусто" в настройках Категория/Товар, и поставил первым значение
- Без дополнительных шнурков -
со стоимостью в 0 руб. Теперь это вроде как и необязательный атрибут, т.к. выбран по умолчанию и ничего не стоит.

*

dmitry_stas

  • ********
  • 9651
  • 929
Re: JoomShopping и товары с атрибутами
« Ответ #11 : 15.07.2014, 21:20:06 »
Цитировать
Убрал галку  "Первое значение атрибута - пусто" в настройках Категория/Товар, и поставил первым значение
- Без дополнительных шнурков -

все правильно, эта задача именно так и решается. встречал, что многие пытаются выдумать костыли с необязательным выбором атрибута. на самом деле надо всего лишь выводить опцию с ценой 0, которая обозначает то, что атрибут как бы не выбран. а по факту атрибут будет выбран, и проблемы не будет.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #12 : 16.07.2014, 01:24:50 »
Да, но если атрибутов несколько или даже много, то в корзине будет выгдялеть примерно так:

Телефон чёрный htc
Наушники: с наушниками
USB-шнур: без шнура
Стилус: без стилуса
Чехол: без чехла
Портативный сабвуфер: нет
..... и т.д.

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

*

Linfuby

  • ******
  • 1239
  • 174
  • Всё просто...
Re: JoomShopping и товары с атрибутами
« Ответ #13 : 18.07.2014, 10:32:14 »
Можно же плагином обработать вывод этих атрибутов. И например если выбрано первое значение (value=0) то не выводить и останется в корзине только надпись:
Наушники: с наушниками

P.S. Хотя даже слово "Наушники" я бы тоже удалил
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054

*

dmitry_stas

  • ********
  • 9651
  • 929
Re: JoomShopping и товары с атрибутами
« Ответ #14 : 18.07.2014, 10:49:21 »
P.S. Хотя даже слово "Наушники" я бы тоже удалил

либо Наушники: да/нет, как и Портативный сабвуфер
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

srg

  • ****
  • 208
  • 40
Re: JoomShopping и товары с атрибутами
« Ответ #15 : 18.07.2014, 13:11:06 »
В принципе получилось через куки при возвращении сделать так, чтобы "в выбранных" фиксировались те параметры, которые заказчик выставил при заказе. Но возникла другая проблема - если заказчик захочет взять еще такой же товар и добавит его с другими параметрами в корзину, а потом захочет отредактировать первый товар, то этого сделать не получится, т.к. куки каждый раз будут выдавать ему настройки Последнего купленного товара... Бесперстпективняк.
Можно))).... но плагин нужно, корзина храниться в сессии (ну и куки тож). Мне по ТЗ нужно что бы в карточке товара было указано сколько данного товара уже в корзине, т.е. по дизайну кнопки в корзину нет, только окно с количеством и +/-. Так вот плагином на событие onBeforeProductView (вроде такой) быстро смотрю в корзину и если такой товар с id уже есть беру количество и в карточку вывожу (так можно потому что атрибутов нет, и товары в корзине уникальны по id). Теперь ваш момент, у вас атрибуты, а значит в корзине может быть 1 товар с разными атрибутами и id товара в корзине уже не уникальны. Делаем в шаблоне корзины для ссылки на товар, например &cartid=ТУТ_ключ_массива_корзины_для_этого_товара. Кликая, так же плагином смотрим корзину, ключ есть, достаем массив атрибутов (там сериализованный array[attrid]=значение) и обновляем активные атрибуты - это в function.php надо посмотреть, setAtributeActive() как-то так.
Ну т.е. в get данные ссылки для товара не нужно ничего пихать, достаточно ключа массива корзинки.

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #16 : 19.07.2014, 17:16:02 »
srg, есть какой-нибудь готовый плагин, на основе которого можно сделать или по новой писать нужно?

*

srg

  • ****
  • 208
  • 40
Re: JoomShopping и товары с атрибутами
« Ответ #17 : 19.07.2014, 19:26:01 »
srg, есть какой-нибудь готовый плагин, на основе которого можно сделать или по новой писать нужно?
Это очень специфическая задача, я под своё ТЗ сам этот плагин пишу...
Но, на всякий случай загляните на сайт разработчика в коммерческий раздел, а вдруг...

*

pH43

  • ****
  • 291
  • 8
[Решено] JoomShopping и товары с атрибутами
« Ответ #18 : 20.07.2014, 22:25:19 »
Придумал небольшой костыль. Добавил скрипт.

Для примера взял несколько атрибутов товара и прописал их в таком виде:
Код
Наушники:
- Нет -
- Дополнительно наушники -

USB-шнур:
- Нет -
- Шнур в комплекте -


Убрал из темпла шаблона корзины вывод самого названия атрибута, т.е., в корзине часть кода с названием товара и атрибутами выглядеть на выходе стала примерно так:

Код

<td class="product_name">
<a  href="...">Телефон чёрный htc</a>

<div class="list_attribute">

<p class="atr"> <span class="value"> нет </span></p>
<p class="atr"> <span class="value"> Шнур в комплекте </span></p>

</div>                    
</td>


Добавил в <head> шаблона скрипт:

Код

<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <script>
    $(function () {
      $('span.value:contains("нет")').hide();
    });
  </script>


Всё, после этого невыбранные (стоящие по умолчанию) атрибуты в корзине просто скрываются и выглядит покупка уже  не так:


Телефон чёрный htc 5600 руб.
Наушники: нет
USB-шнур: Шнур в комплекте



А так:


Телефон чёрный htc 5600 руб.
Шнур в комплекте


Проблемы это не решает, есть много минусов, но в моём случае было достаточно такого простого приёма.

*

dmitry_stas

  • ********
  • 9651
  • 929
RE: JoomShopping и товары с атрибутами
« Ответ #19 : 20.07.2014, 22:36:44 »
если убрали в шаблоне вывод названия атрибута, то почему бы не проверять там же его значение на "нет", и если совпадает, то тоже не выводить? зачем этот дополнительный JavaScript еще? да еще и с загрузкой очередной jQuery.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
RE: JoomShopping и товары с атрибутами
« Ответ #20 : 20.07.2014, 23:31:34 »
Слишком много "зачем", мне нужно было, я сделал)

Цитировать
Проблемы это не решает, есть много минусов, но в моём случае было достаточно такого простого приёма.

*

dmitry_stas

  • ********
  • 9651
  • 929
RE: JoomShopping и товары с атрибутами
« Ответ #21 : 21.07.2014, 00:00:57 »
мне нужно было, я сделал
это понял. это логично.

в моём случае было достаточно такого простого приёма.
а вот это не понял. то, о чем я говорю, проще и правильнее в реализации. поэтому и спросил, зачем. ну да ладно, вас устраивает - и отлично.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
RE: JoomShopping и товары с атрибутами
« Ответ #22 : 21.07.2014, 01:45:56 »
Если есть время, то можно подробнее, как эту проверку реализовать на практике? Буду только благодарен! В любом случае пригодится

*

dmitry_stas

  • ********
  • 9651
  • 929
RE: JoomShopping и товары с атрибутами
« Ответ #23 : 21.07.2014, 02:37:44 »
Код: php
foreach($atribute as $attr){
    if ($attr->value == 'нет') continue;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #24 : 24.07.2014, 01:36:25 »
Нашел ещё один существенный минус:
если есть несколько атрибутов (в виде селектов, например, 1-выберите цвет, 2-выберите размер,3-выберите вес,...) и выбирать их по порядку (1,2,3 ...) - всё хорошо, но если выбрать сначала 1,8,9 а потом выбрать 2-рой, то могут вернуться к исходному значению селекты 8-ой и 9-ый.

Почему это происходит, не понимаю.
« Последнее редактирование: 24.07.2014, 04:19:07 от pH43 »

*

Linfuby

  • ******
  • 1239
  • 174
  • Всё просто...
Re: JoomShopping и товары с атрибутами
« Ответ #25 : 24.07.2014, 14:10:57 »
Нашел ещё один существенный минус:
если есть несколько атрибутов (в виде селектов, например, 1-выберите цвет, 2-выберите размер,3-выберите вес,...) и выбирать их по порядку (1,2,3 ...) - всё хорошо, но если выбрать сначала 1,8,9 а потом выбрать 2-рой, то могут вернуться к исходному значению селекты 8-ой и 9-ый.

Почему это происходит, не понимаю.
Зависимые атрибуты?
Значит нет такой комбинации.
Например есть красные футболки размеров XL и XXL и синие размеров M и XXL
И если выбрать сначала размер M а потом выбрать красный цвет, то естественно размер станет XL так как красных М нет в наличии
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #26 : 24.07.2014, 14:16:39 »
Тоже так подумал, специально всё проверил - нет ни одного зависимого атрибута, все независимые.
Joomla 3.3 - JoomShopping 4.3.3

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #27 : 25.07.2014, 22:25:44 »
Код: php
foreach($atribute as $attr){
    if ($attr->value == 'нет') continue;

умно, а в какой части кода это размещать?

*

dmitry_stas

  • ********
  • 9651
  • 929
Re: JoomShopping и товары с атрибутами
« Ответ #28 : 25.07.2014, 23:33:40 »
там же, где
Убрал из темпла шаблона корзины вывод самого названия атрибута
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

pH43

  • ****
  • 291
  • 8
Re: JoomShopping и товары с атрибутами
« Ответ #29 : 26.07.2014, 01:09:23 »
Работает, Спасибо!

код вставил в сайт.ру\components\com_jshopping\lib\functions.php примерно в 1170 строке.
« Последнее редактирование: 12.11.2014, 18:07:53 от pH43 »