Перейти к содержимому


Фотография
- - - - -

Организация каталога товаров. Нужен совет по работе с расцветками


Лучший Ответ SmetDenis , 20 October 2013 - 10:11

Полный вариант решения перенесен в отдельный топик в раздел рецептов.
http://forum.jbzoo.c...mi-po-tcvetam-t Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 15

#1 Akela

Akela

Отправлено 08 October 2013 - 07:43

Здравствуйте!

Подскажите пожалуйста, как реализовать такую карточку товара, которую можно посмотреть по этой ссылке. Основной упор на цвет товара.

 

Есть товар. У него несколько цветовых вариаций при одной цене (от 4 до 19 цветов), Каждый цвет это товар со своим уникальным артикулом. У другого товара свои вариации цвета.

Т.е. схематично можно написать так:

 

Товар 1 - Цвет 1, Цвет 2, Цвет 3, Цвет 4, Цвет 5

Товар 2 - Цвет 2, Цвет 5, Цвет 6, Цвет 7, Цвет 8

Товар 3 - Цвет 1, Цвет 4, Цвет 8, Цвет 9, Цвет 10

 

Если сгруппировать все цвета по всем товарам то их 92 варианта!

 

И все эти цвета должны быть доступны для поиска товара по ним.

 

Можете подсказать каким образом это реализовать? Заранее извиняюсь если это уже где-то прописано на форуме или в документации. Очень много информации и пока трудно в ней ориентироваться.


Сообщение отредактировал Akela: 08 October 2013 - 07:50

  • 0

#2 Sliapy

Sliapy

Отправлено 08 October 2013 - 17:33

Я вижу только один вариант - через Связанные материалы (Related Items). Либо платный вариант через Related Items Pro - то немного упростит жизнь тем, что при привязке "цвета" к товару в самом "цвете" товар так же появится в связанных автоматически.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Akela

Akela

Отправлено 08 October 2013 - 22:45

Если делать через связанные товары, то логично будет если "основной" товар будет без корзины, а связанные "цвета" - с корзиной.

Т.е. "основной" товар - тип без корзины, "цвета" - тип с корзиной. Но поддерживает ли Related Items связывание разных типов?

Попробовал сделать это, но не получилось. Может быть просто что-то не так сделал или это в принципе невозможно?

 

Может быть так попробовать.....

У "основного" товара 3-ёх значный артикул, и анализируя этот факт в коде можно отключить вывод корзины у данного товара

Все "цветные" товары вывести связанными материалами. Но возникает неудобство - под каждым цветом своя корзина.

 

Ещё вариант.

Выводить корзину у "основного" товара, у связанных "цветных" - нет

Но при клике на "цветной" товар переход по ссылке отключаем, фотография у "основного" меняется на нужную из связанного и при нажатии на кнопку "добавить в корзину" в неё попадает выбранный связанный. Так можно попробовать или не выйдет? Этот вариант конечно жеж предпочтительный. Как в таком случае "подсказать" корзине, какой товар в неё добавлять?


Сообщение отредактировал Akela: 08 October 2013 - 22:47

  • 0

#4 Sliapy

Sliapy

Отправлено 09 October 2013 - 01:10

Related Items поддерживает связь разных типов. Проверьте настройки элемента - какой шаблон указан для вывода, настроен ли этот шаблон.

 

Смотрите код страницы - выводится ли там что-то. Опишите, что делали и что получилось.

 

Реализацию всего предложенного Вами я слабо представляю.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 Akela

Akela

Отправлено 09 October 2013 - 18:58

Спасибо за идею! На этой страничке http://vgostikyane.r...item/elica.html накидал примерную реализацию с помощью Related Items (auto).

Здесь происходит вывод основного товара с выбором цветовой гаммы. При выборе цвета меняется изображение у главного товара.

 

Чтобы не плодить множество корзин на странице (они пока сделаны полупрозрачными), в дальнейшем они будут скрыты через css. Это сделано для того, чтобы при выборе цвета, данные выбранной корзины перезаписывали  через jQuery данные основной корзины. Скажите пожалуйста, возможна ли такая реализация впринципе  для дальнейшего корректного добавления товара в корзину?

 

Чтобы в категории не болтались товары-цвета, предполагаю их просто не выводить. Основной товар имеет 3-х значный артикул, товар-цвет - пятизначный.  Анализируя sku на количество цифр можно добиться нужного результата в данной категории.

 

Подскажите как получить в teaser'e sku товара?


  • 0

#6 Sliapy

Sliapy

Отправлено 09 October 2013 - 20:05

Скажите пожалуйста, возможна ли такая реализация впринципе для дальнейшего корректного добавления товара в корзину?

Я не программист и ничего по этому поводу сказать точно не могу.

 

Подскажите как получить в teaser'e sku товара?

 

Артикула получить можно так:

<?php
            $arr = $item->getElements();
            foreach($arr as $value){
                if($value->config->type == 'jbpriceadvance'){
                    $basic = $value->getElementData()->basic;
                    $sku   = $basic['sku'];
                }
            }
 ?>

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 Akela

Akela

Отправлено 10 October 2013 - 21:07

К сожалению, если анализировать sku в тизере и исключать ненужные item'ы, то выводятся пустые блоки. Эти обёртки задаются в цикле в файле:

/media/zoo/applications/jbuniversal/templates/catalog/renderer/item_columns/_default.php

 

Вставка всех данных тизера происходит строкой:

echo '<div class="column rborder width' . intval(100 / $vars['cols_num']) . $first . $last . '">' . $object . '</div>';

Подскажите, пожалуйста, как из $object'а можно вытянуть sku, id категории и id элемента?


Сообщение отредактировал Akela: 10 October 2013 - 21:10

  • 0

#8 SmetDenis

SmetDenis

Отправлено 12 October 2013 - 15:53

Подскажите, пожалуйста, как из $object'а можно вытянуть sku, id категории и id элемента?


К сожалению, никак.
В момент работы шаблоны item_columns все материалы уже отрендерены (т.е представляют HTML)
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 Akela

Akela

Отправлено 13 October 2013 - 21:10

Спасибо. Решил это через jQuery.

В каталоге в админке набито 6 полноценных товаров. 2 основные и 4-ре указатели цвета

каталог.jpg

В категории товаров на сайте благодаря jQ выводятся только 2 основных товара http://vgostikyane.r...26-05-13-8.html

При переходе в товар появляются "цветные товары" которые идут как Related Items'ы - http://vgostikyane.r...item/elica.html. Корзины "цветных" товаров пока не скрывал чтобы отладить их работу.

 

При клике на цвет меняется изображение товара и подменяется корзина. Особенно это видно если сначала добавить "цветной" товар в корзину, а потом кликнуть на изображение.

 

Подмена корзины осуществляется тоже через jQuery - при клике на изображение считывается содержимое соответствующего контейнера содержащего html код корзины и вставляется в full вместо существующей корзины.

 

Как и ожидал появилась проблема - продублированная в full'е корзина не работает :).

 

Как думаете, почему нет реакции кнопок в подменённой корзине? Как можно решить эту загвоздку?


Сообщение отредактировал Akela: 13 October 2013 - 21:11

  • 1

#10 Akela

Akela

Отправлено 14 October 2013 - 21:51

Нашёл решение через append.

Логика такая. При клике на изображение корзина переезжает в нужный div full'а. При клике на другое изображение новая корзина переезжает на нужное место, а предыдущая корзина возвращается на своё прежнее место. Теперь осталось идентификаторы прописать которые будут связывать изображение со своей корзиной и можно будет сказать что вопрос решён.


  • 0




Click to return to top of page in style!