Уважаемое Комьюнити, проблема в следующем: нужно создать товар в котором будут несколько его вариантов как например здесь http://www.don-parfum.ru/product_6152.html. То есть имеется наименование, есть несколько его объемов или размеров, но как это сделать на одной странице - ума не приложу...
Я думаю магазиностроители сталкивались с данным вопросом, не откажите в помощи.
Комментарии
Вариант попроще - воспользоваться модулями:
1. Attribute (входит в Ubercart) - можно задать объемы/размеры через атрибуты, присвоить каждому атрибуту свой артикул (SKU) и цену.
Пользователь сможет выбирать нужный ему размер/объем (цвет и т.д.) из раскрывающегося списка.
2. UC Option Images - каждому атрибуту можно задать свою картинку, которая будет меняться через js при выборе атрибута из списка.
3. UC Attribute Stock Filter - фильтрует товары с атрибутами, отсутствующие на складе
4. UC Ajax Attribute Calculations - изменяет цену в зависимости от выбранного атрибута при его выборе из списка
5. UC attributes in cart - пользователь сможет менять атрибут в корзине.
Не уверен, что все эти модули будут работать одновременно.
Результат будет отличаться от примера (атрибут выбирается из списка).
Если же требуется сделать, как у Адидаса - я бы пошел следующим путем:
- Создал тип материала "Описание товара", в нем с помощью CCK Node Reference сделал бы ссылки на материалы типа "Товар", которые и являлись бы непосредственно товарами со своими особенностями (цвет, объем, размер и т.д.)
- или связал бы описание товара с самими товарами через таксономию.
далее - организовать вывод в следующем порядке:
1. Описание товара - заголовок, описание, изображение
2. Связанные товары - изображение, описание, цена, добавить в корзину
3. Описание товара - комментарии.
Это можно сделать либо с помощью представлений (views), либо темизацией шаблона для материалов типа "описание товара".
Как-то так...
- это хорошо, с этим проблем не возникло
- с этим способом проблема, я собственно через него и делал, когда зашел в тупик... если плясать от term description, то после описания и товаров нет возможности прикрутить комментарии (т.к. они к термину не прикручиваются)
все соответственно через views:
+ здесь все понятно
??? здесь тоже все понятно, но только если первый и второй пункты делать в разных вьюсах, если в одном, то заголовок, текст и описание родительского тотвара повторяется с каждым дочерним, как это победить?
если слепить первое и второе, то здесь проблем не должно быть.
Понимаю, что пишу уже комментарий поздновато, но у меня не получается создать второй, третий и тд SKU на одной странице.
Надо как здесь http://www.don-parfum.ru/product_7966.html
У меня как будто SKU по умолчанию
Product information
SKU: *
и все Attributes идут как дополнительные товары..цена плюсуется..
к примеру, Product стоит 0 рублей, как я ставлю,
а attributes 100 рублей..
и системы плюсует 0+100=100
Подскажите пожалуйста, как attrubutes присвоить SKU..я в тупике
Спасибо
P.S. - в первом варианте необязательно использовать раскрывающийся список, можно и радиобатоны, и чекбоксы (множественный выбор), но у меня с ними не работал Option Images
основная разница между 1 и 2 - кол-во кнопок "добавить в корзину": во втором случае их будет несколько.
Второй вариант подходит, спасибо большое, пошел пробовать, как сделаю отпишусь. Чет я про node reference не подумал...
В представлении создать 2 вида "вложение", первый выводится перед видом "страница", в нем заголовок, описание, изображение
Потом идет вид "страница", в нем выводятся связанные товары
Последним идет снова вид "вложение", в нем выводятся комментарии к заголовку товара
с этим понятно, извините, был балван. Не пойму почему сам не додумался..[/quote]
но вот с
Если я создаю view с типом материал, то он у меня не видит комментарии как поля, как это бороть (в отдельном view соответственно все нормально...)?
P.S. Извините конечно за назойливость и непонятливость, но так далеко в дебри views еще не лазил. Заранее благодарю за ответы.
P.P.S. Извините, снова был болван и слеп. все нашел. Andruxa большое спасибо за помощь!
подскажите еще пожалуйста: комментарии (заголовок текст ответить) я вывел, а как на этой же странице вывести форму добавления комментария? вообще не пойму...
Хм... Признаться - не знаю.
Сейчас поковырял views - появился встречный вопрос: а как удалось вывести комментарии?
Вот все настройки views
Просто в качестве аргумента NID и потом с него брал комментарии
Не могу ничего подсказать...
Поискал модули - ничего не подошло.
Наверное, стоит подождать совета более опытных людей.
Либо смотреть в сторону шаблона node-описание_товара.tpl.php
А можно здесь по подробнее, особенно про "я создал поле CCK viewfield" это тип CCK'я такой?
Я думаю, нужно ковырять в этом направлении
http://api.ubercart.org/api/function/uc_attribute_load/2
и/или
http://api.ubercart.org/api/function/uc_product_get_attributes/2
В принципе по основной задаче вопрос можно считать закрытым. По комментариям создам отдельную. Andruxa, еще раз спасибо, заставил мой мозг думать ))
Пожалуйста.
Мой мозг тоже потрудился, это полезно
М.б. Views Custom Field поможет, если написать в нем вызов формы добавления комментария.
Или прилепить снизу блок...
Просьба - если получится решить, описать решение.
Да, реализуется модулем CCK viewfield.
Потом в типе материала добавляется поле, и при создании/редактировании материала указывается представление, соответствующее материалу.
Ну а вызывается оно из шаблона.
Кстати, в цитируемом посте я был неправ насчет "комментарии и форму для ввода новых - через шаблон, оставив в нем код, отвечающий за их вывод."
В шаблоне материала этого кода нет, там одна переменная $content поэтому пост и отредактировал
Можно воспользоваться советами http://drupal.ru/node/25903
Andruxa еще раз спасибо, все реализовал через CCK viewfield. Оказалось очень удобно и не нужно изобретать велосипед.
Был рад помочь.
Если не затруднит, можно ссылку на готовое решение?
создаем 2 типа материалов:
доп. поля у описания товара:
А может ли быть у каждого SKU своё кол-во на складе? Т.е. к примеру Балон 10л, и балон 20л - это разные физ. еденицы, соответственно и разное кол-во на складе может быть
1 SKU это 1 товарная позиция.
Если включено отслеживание товарных запасов node/[nid]/edit/stock, то разные товары (ноды) с одинаковым SKU будут уменьшать складские остатки этого SKU при оформлении заказа.
К примеру - при включении многоязычности с переводом, каждый перевод товра на другой язык будет являться отдельной нодой, но SKU у них будет одинаковый.
При оформлении заказа, со склада будет списываться SKU, вне зависимости от языка ноды (её nid).
Если у них разные SKU, то кол-во на складе будет разным.
Т.е. получается таблица products - это сами продукты, а таблица нод(тип материала продукт) - это как бы общая группа объединяюшая похожие товары, которая группирует их по Заголовку ноды? (правильно мыслю?)
chel: Не совсем понял...
Если говорить от таблицах, то таблица node - это своего рода реестр всех нод, вне зависимости от их типа.
В таблице uc_products следующие поля:
vid, nid - со вторым понятно, значения этих полей совпадают, так что vid - это явно не vocabularyID, м.б. - редакция ноды;
model - там как раз SKU;
list_price, cost, sell_price - соответственно, 3 цены uc;
weight, weight_unit ... lenght_units - думаю, понятно;
pkg_qty, default_qty - кол-ва в упаковке и по умолчанию;
ну и т.д.
Т.е. таблица uc_product - это своего рода набор полей, делающих ноду продуктом.
Когда мы кликаем на продукцию, то получаем товары с разными атрибутами объединяемыми как бы в одну продукцию. На основе чего задается в таблицах такое объединение по сути разных товаров с разными SKU, как бы в отдельную продукцию (для конечного пользователя выглядит как товар с разными характеристиками) являющимися по сути разными товарами.
О, там много таблиц...
uc_attributes
- там список атрибутов, который мы видим на странице admin/store/attributes/overviewuc_attribute_options
- список опций со страницы admin/store/attributes/[aid]/optionsuc_product_attributes
- привязка атрибутов из uc_attributes к нодам, с указанием заголовка атрибута и опции по дефолту, это можно наблюдать на странице node/[nid]/edit/attributesuc_product_options
- привязка опций к ноде, с указанием их дельт стоимости и веса: node/[nid]/edit/options, а дефолтная опция, как уже говорилл - пишется вuc_product_attributes
uc_product_adjustments
- тут, собственно, комбинациям нода+опции назначаются SKUостаются еще
uc_class_attributes
иuc_class_attribute_options
, они у меня пустые - не знаю, что в них...Стоп.
Мы сейчас говорим именно об атрибутах продукта, или о том решении, которое обсуждалось в начале комментариев?
(заголовок, к которому через node refrence прибиты несколько продуктов)
uc_product_adjustments - похоже зависимые атрибуты товаров - круто, спасибо!
Скорее мы говорим о первом варианте решения (развиваем его).
Вариантов было два, как я понял: Простой, и как у Адидаса.
ну,они там в виде "a:1:{i:2;s:2:"10";}"
да и голыми руками в БД лазить - тоже не гут
Ребят, результат можете посмотреть здесь: http://terraparfum.ru
Вполне достойно получилось и так как хотелось.
Понравилось.
Поворчу немного для порядку ))
- некоторые изображения продукта без полей, получается не очень удобно читать:
- в панели информация о покупателе ашыпко:
- ссылка на корзину только в праймари, как-то привык видеть ее в сайдбаре с кол-вом товаров и их суммой, но это наверное личное
Чьорд, а куда подевались приаттаченные скриншоты?
Видимо, создавать 2 продукта: майка1 с атрибутами S и L, майка2 - можно вообще без атрибутов, раз размер один.
Это же разные майки, насколько я понимаю, раз нельзя объединить их размеры в один атрибут - S,M,L.
Тогда лучше использовать 2 продукта - с разными изображниями и описаниями.
Где именно?
Хде?! О_о
И мое имхо тоже, только клиент не захотел.
В твоем случае лучше такой же геморой нагородить как у меня. Другую логику так и не придумал. Ситуация та же, только у меня флаконы 30, 50 мл, а другие 30 100 и т.д. Таким образом я сделал каждый флакон - товар и "Описание товара", в которое через node reference добавляются товары.
Дык, скриншоты пошли по женской линии почему-то...
http://terraparfum.ru/catalog/chanel/chanel-chance
здесь изображение без полей и текст плохо воспринимается
Чекаут:
...чтобы войти под своей учетной записью
Нашел модуль Ubercart Sub-Product - он вроде бы полностью повторяет решение с вьюсами
To casey_2000. У тебя каталог товаров получается состоит не из товаров, а из нод типа "Описание товара"?
При клике на какой-либо товар в блоке спец-предложений, открывается страница типа "Описание товара", если я правильно понимаю. А каким образом, открывается она, а не сам товар?
Да
Абсолютно не правильно. Просто открывается нода "описание товара" к которой через node reference прикреплены "товары"
У меня каталог не Ubercart'овский а на views'ах сделанный
Спасибо, понятно )
Для друпалера такая огранизация магазина, его наполнение выглядит вполне логичено и просто. Но, как мне кажется, добавление товаров, категорий, для заказчика может показаться слишком сложным.
Наоборот в данном конкретном случае заказчику понравилось. Специфика просто такая, что существует аромат, а к нему: туалетная вода, парфюмированная вода, разный литраж и т.д.
http://drupal.org/project/uc_subproduct