Как создавать товары на Drupal Commerce для Drupal 7

Аватар пользователя w_andreu_w w_andreu_w 13 января 2011 в 0:54

Привет Всем !

Вот решил написать для всех кто еще не разобрался как создавать товар в Drupal Commerce для Drupal 7.

  1. Что бы не было лишних вопросов сначала напишу что для начала нужно поставить сам Drupal 7.



  2. Затем можно запустить cron если drupal 7 потребует.
  3. Далее включаем модули на странице http://ваш-сайт/admin/modules,

    и запускаем Cron. Если все прошло нормально тогда в верхнем меню появиться пункт "Store".
  4. Далее создаем сам товар на странице http://ваш-сайт/admin/commerce/products- "+ Add a product" ,далее попадаем на страницу http://ваш-сайт/admin/commerce/products/add/product и заполняем поля

    и сохраняем.

  5. Если Вы све сделали правильно тогда должны увидеть

  6. Далее создаем Тип контента на странице http://ваш-сайт/admin/structure/types/add,

  7. Далее добавляем поля для типа материала такие как картинка товара и кнопка "Add to cart" (Добавить в корзину) как на картинке ниже


    нажимаем кнопку Save и попадаем на страницу настроек поля

    ставим галочку и нажимаем сохранить настройки поля,

  8. Если все прошло хорошо Вы попадаете на страницу и настраиваем в зависимости от потребностей


    Далее Нудно еще настроить отображение поля Add to cart вот пример

  9. Далее на странице http://ваш-сайт/node/add добавляем ноду тип которой мы создали, пример ниже

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

    заходим в товар и нажимам "Add to cart" ниже пример

  11. Вот корзина не авторизованного пользователя

Всем кому что нибудь непонятно пишите !

0 Thanks

Комментарии

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 13 января 2011 в 2:51

ммм, я наверное чего то упустил, но создание товара - вещь вполне интуитивная. Странно, что это вызывает такие трудности

Аватар пользователя Valeratal Valeratal 13 января 2011 в 8:50

читаю и не понимаю

чтобы в поле add to cart появились наши розы, мы их должны сначало просто сохранить? (иначе откуда возьмется ссылка - это ж node reference)

То есть, получается. Для создание какого нибудь товара, например "желтые розы". Мы их сначало добавляем без кнопки "добавить в корзину". А потом, опять открываетм и уже в этом поле вставляем sku2 "Розы желтые"

Аватар пользователя Valeratal Valeratal 14 января 2011 в 21:28

нее, будем ждать нормальной реализации

почему то в убере нет такого извращения (по крайне мере в 6-ке)

Аватар пользователя andrey-2011 andrey-2011 19 января 2011 в 20:06

Здорова ребята!Я только месяц,как ковыряюсь с друпалом,пока многое обсалютно не понятно.Может кто подскжет в чем может быть проблема: В администраторской панеле блок Catalog отображается, а когда захожу как гость
его просто нету,хотя все остальные блоки прекрасно отображаются.Версия CMS 6.20.

Аватар пользователя GeneralLee GeneralLee 30 января 2011 в 15:59

Этот способ мало чем отличается от создания товара в Ubercart

Я думаю вернее создавать не тип контента, а тип товара:
1) Создать товар на базе сущности commerce_product. Прикрепить к нему нужны поля (изображения, etc...)
2) Создать страницу на базе node
3) Прикрепить товар(ы) к странице через поле Product reference

Концепция DC(в отличие от Ubercart) в том, что на странице может быть больше одного товара

Аватар пользователя tim.pashkevich tim.pashkevich 6 июня 2011 в 11:09

Для контентеров, мне кажется, это усложняет жизнь))
Тем более времени, как минимум, в 2 разы больше идет,
поскольку создание товара теперь осуществляется в два этапа.
(если это новая единица товара, как минимум, с другой ценой)

Я правильно понял?

Аватар пользователя amey amey 31 января 2011 в 22:01

Перечитав весь http://www.drupalcommerce.org, я так и не пойму, как же создать товар с одним SKU и набором разных атрибутов (Размер, цвет).

В результате для покупателя должны быть видны товары типа:
SKU:001, Сапог, белый, 38
SKU:001, Сапог, белый, 39
SKU:001, Сапог, красный, 38
SKU:001, Сапог, красный, 40

Как?

И все это также нужно для отчетности.

Друзья, помогите разобраться пожалуйста.

Аватар пользователя GeneralLee GeneralLee 1 февраля 2011 в 20:16

здесь два выхода

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

я не считаю этот вариант верным

правильный же будет таков, что у каждого товара всё же должен быть свой SKU, но определённым образом зашифрованный
например

  • SKU: 001-38-1 - Сапог, 38 размер, белый
  • SKU: 001-40-2 - Сапог, 40 размер, красный

все эти товары, как я уже писал, прикрепляются на одну страницу, если являются частью одного предложения. С выводом страницы будет небольшая проблема(drupal commerce некорректно выводит страницы, к которым прикреплены больше одного товара), но можно написать небольшой кастомный модуль.

Аватар пользователя CrazyDiamond CrazyDiamond 27 февраля 2011 в 18:10

А у меня вроде нормально выводится нода товара, к которой прикреплены по SKU разные продукты. Разные виды продукта, вернее, но это не принципиально.
Получается как в примере Райна этого, с демо-сайта Коммерца. Меняется и картинка, и цена, и описание, если из выпадающего меню выбрать другой товар.

Аватар пользователя antey antey 17 мая 2011 в 7:34

Как реализовать:
1. Один вид товара, например футболка. Но белая (с картинкой) за 100р, красная (с картинкой) за 110р, синяя (с картинкой) за 90р. С переключением в подробном описании товара. Вроде как атрибуты, но куда их спрятали. Подобное в примере от авторов есть, но как реализовано?
2. Импорт. Если товара 1000, а подвидов 10000. Не руками же вводить? Есть модуль импорта из Excel?

Добавление 2 материала к 1 продукту дает ошибку
EntityFieldQueryException: Механизм хранения полей не найден. в функции EntityFieldQuery->queryCallback() (строка 1048 в файле /xxx/includes/entity.inc).

Аватар пользователя Motorvideo Motorvideo 27 июля 2011 в 18:08

Спасибо автору темы. Вот мое предложение по созданию товара.
Но сначала я обращу ваше внимание на то что в примере, который описал автор темы описание товара и фотография создаются во второй части процесса создания товара, а именно на странице материала с типом product. Я предлагаю всю необходимую информацию о товаре, включая текстовое описание, фотографию, цвет, комплектацию, и все остальное заносить в первой части создания товара, в соответствующие поля товара на складе. Я имею в виду поля создаваемые на этом экране: admin/commerce/products/types/тип товара на складе/fields/. Благодаря такой форме введения данных, вторая часть создания товара упрощается. Мы только создаем страницу с типа product и указываем на ней артикул товара со склада. Обновление списком становиться очень удобным, т.к. на странице товара не содержится обновляемой информации. Тогда как быть с фотографиями ? Для них создаем тип материала "Изображение". Потом нужно будет ссылку на них вписывать в файл csv, и потом уже заливать сами картинки по ftp. Пример csv файла есть в внутри модуля (commerce_feeds\commerce_feeds_example\example_products.csv)

Аватар пользователя vitok vitok 26 июля 2011 в 22:37

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

Аватар пользователя Motorvideo Motorvideo 10 ноября 2015 в 11:47
"vitok" wrote:

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

Вы имеете в виду создание Представления (Views), которое будет выводить тип материала Товар_на_складе( это тип материала отсюда:admin/commerce/products/types) и показывать его покупателю ? Например в виде таблицы. И это будет как бы список товаров с возможностью сортировки ?

То да, верно. Я так у себя и делаю. Вопрос, как сделать ссылку на страницу товара на витрине магазина ? ( это тип материала produkt в терминах этого поста, берется отсюда: admin/structure/types ) Views не сможет предложить назначить любому полю ссылку на любой поле, которое вы укажите в списке выводимых полей. Предлагаю артикул товара и синоним страницы товара на витрине назначать одинаковыми. Вот тут Views сможет назначить шаблон ссылки в виде [SKU]. Картинка приложена.

Аватар пользователя vitok vitok 28 июля 2011 в 2:05

Motorvideo честно говоря ничего не понял)

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

ИМХО, разробам надо было сделать возможность вывода товаров двумя способами, первый как описал ТС, и использовать его когда нужны атрибуты товара, а второй это вывод непосредственно самих продуктов на фронтэнд как обычные ноды, без каких либо дополнительных телодвижений.

Хотя мене честно говоря очень даже понравилась идея разделения продуктов на бакэнд и фронтэнд и даже алгоритм создания полноценного товара кажется весьма интересным, сначала имея наименования и цены продуктов, создаем их на бакэнде, а затем уже идем на фронтэнд и начинаем придумывать красивые (заманушные) описания к товару. Как бы получилось разделение рутинной и творческой работы :)

Аватар пользователя agent-000 agent-000 30 июля 2011 в 2:53

именно то что искал. Спасибо , что сэкономили время. Каждый раз играть в квесты новых больших друпаловских модулей хочется поменьше.

Аватар пользователя webandr84 webandr84 30 июля 2011 в 10:03

Ребята а можно ли на нем реализовать многопользовательский магазин?
Ну что бы было множество продавцов, и каждый продавец мог добавлять товары. И получать заявки по своим товарам? В некотором роде сайт-рынок.
А пользователь при регистрации уже выбирает кто он: продавец или покупатель.

Аватар пользователя vitok vitok 30 июля 2011 в 21:36

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

Советую проглядеть серию видео уроков по Drupal Commerce от Randy Fay

Я кстати уже начал делать на Drupal Commerce первый проект, лицевая часть пока еще проще чем демка коммерца, а вот для админки вьюхи перекрутил, VBO прикрутил, уведомления, правила разные, впереди еще ждет составление правил на стоимость доставки в зависимости от населенного пункта. Лично у меня кастомность семерки и коммерца впечатления оставляют положительные.
Правда еще осталось разобраться с такой мааааленькой деталью, как оплата через интернет :)

Кстати насчет дублирования действий вот, что придумали http://drupal.org/node/971484

Аватар пользователя Motorvideo Motorvideo 31 июля 2011 в 21:10
"vitok" wrote:

Motorvideo честно говоря ничего не понял)

Постараюсь другими словами рассказать.
У нас есть материалы фронт(витрина) и бэк(склад). Это я вашими терминами изъясняюсь. В скобках моя терминология.

Можно делать Представление(Views) для вывода материалов типа фронт, или для материалов тиба бэк. Таким образом, можно для покупателя выводить таблицу или список товаров, делая магазин удобным. Но, если вы част информации о товаре будете заносить в поля материала тиба бэк, а часть маетриала во фронт, например, красивое описание возможностей, то есть нюансы.

Drupal 7 позволяет создавать Представления только для материалов типа Сожержимое(node), или только для Коммерческий продукт(commerce). Поэтому если Вы создадите Представление для материала Содержимое, иначе говоря для фронта(витрина), которое выводит красивые описания, то вставить туда цену, которая содержится в поле материала типа бэк(склад, не получиться.

Если, это возможно, то прошу рассказать.

Аватар пользователя vitok vitok 31 июля 2011 в 23:30

А для чего тут (во вьюхе) изврощаться с ветриной и складом одновременно?

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

Аватар пользователя kodo kodo 1 августа 2011 в 7:47
"Motorvideo" wrote:

Если, это возможно, то прошу рассказать.

Можно, через продукт рефференс. Во всяком случае я думал изначально, что это как бы и есть правильный вариант, хоть он мне и не нравится.
Идея с разделением вроде как бы не плоха - в том плане хорошо что она есть для некоторых случаев, но для большинства простых магазинов - это просто лишние действия. Опять же мне совсем не понятно зачем было делать Товар не типом материала??? Как следствие -

"vitok" wrote:

единственно при таком раскладе не будет доступен функционал полного содержимого и анотации, т.к. в коммерце у продуктов нет своей отдельной страници.

Опять же отсутствие нормальных аттрибутов и необходимость плодить похожие представления товара мне лично напоминает труд китайских программистов - они очень быстро делают копи-паст.
Это я все к чему - предложенная схема не то чтобы не идеальна, а не понятно что пацаны курили или в угоду какой особенности это наворотили?
Если есть на английском рассуждения разработчиков на тему организации структуры данных магазина - киньте в меня ссылкой, хочется понять ДАО Коммерца :)

Аватар пользователя Uberbags Uberbags 1 августа 2011 в 8:03

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

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 2 августа 2011 в 0:20

По линке, что я дал выше, упоминается некое правило (Rules), которое бы автоматом создавало дисплей для товара.

Дискуссия

Но...

«one of the main problems of the rules method and the http://drupal.org/project/commerce_product_display_manager module is that there's no automatic way to set a taxonomy for a product display.»

Тем не менее

«so, what about at least an option (or a rule?) to redirect from the completed commerce product creation form to the edit form of the product display, possibly prepopulating at least the product reference field?

it would still be a 2-step process, but at least users wouldn't get lost in between from the 1st step (commerce product creation) to the 2nd (product display creation).»

Вообщем, правилами можно настроить редирект - создаёте сущность продукта и вас редиректит на создание его отображения.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 2 августа 2011 в 17:02
"Ламер" wrote:

Волосуг, вот ты скажи, а ты будешь делать чтото крутое типа опенстора только с комерцем?

Обязательно будет делать, ведь ему так хочется работать бесплатно

Аватар пользователя Uberbags Uberbags 2 августа 2011 в 21:24

vitok
еще один вопрос - "каталог" сделали во views, а как в этом каталоге сделать подкаталоги? я понимаю что это тоже все во views, но каким образом?
то есть чтобы был нечто такое:
-Каталог
--группа товаров1
---товар1
--группа товаров2
---товар2
ну и так далее...

Аватар пользователя vitok vitok 3 августа 2011 в 0:59

Uberbags а что понимается под "группа товаров"? отдельная страница? или подзаголовок, под которым несколько товаров, и на этой-же странице другой подзаголовок, под которым другие товары?

Если первое, тот тут уж лучше термины таксономии настроить и не париться.

А если второе, то это во views называется группировка по полю. Т.е. сначала для ноды создаем поле в котором будем задавать названия групп товаров, затем во вьюхе добавляем это-же поле, и отмечаем его галочкой "исключить из вывода", затем идем в формат->настройки и в списке "Группировать по полю" выбираем поле которое у нас содержит название группы товаров.

Аватар пользователя Ch Ch 4 августа 2011 в 14:04
"kodo" wrote:

Если есть на английском рассуждения разработчиков на тему организации структуры данных магазина - киньте в меня ссылкой, хочется понять ДАО Коммерца :)

Еще немного аргументации

Аватар пользователя FORTIS FORTIS 19 августа 2011 в 0:09

модулёк для автоматического назначения термина представлению продукта (который создается рулесами)
$node->field_category - поле ссылающееся на термин в представлении продукта,
$node->field_product_reference - поле ссылающееся на термин в самом продукте

function term_assign_node_presave($node){
  if ($node->type == 'product_display' && !isset($node->nid) && !isset($node->field_category['und'][0]['tid'])){
    $product = commerce_product_load($node->field_product_reference['und'][0]['product_id']);
    $node->field_category['und'][0]['tid'] = $product->field_category['und'][0]['tid'];
    node_save($node);
  }
}
Аватар пользователя restyler restyler 26 августа 2011 в 9:57

написал статью по главной, на мой взгляд, проблеме коммерса: http://pixeljets.com/blog/commerce-product-constructor. Райан (главный разраб commerce) и разработчик модуля commerce bulk product creation отметились в комментах, говорят - пацаны все будет. Но работы много.

Аватар пользователя Uberbags Uberbags 10 ноября 2015 в 11:47

А вот как в созданном каталоге настроить отображение , например в виде сетки, а не простым списком (у меня создан каталог с терминами словаря, при переходе к товарам термина показываются товары, которые к этому термину относятся, но в виде списка) Как сделать так, чтобы товары отображались по иному? (на картинке нагляднее, чем я написал)

Аватар пользователя DDDDD099 DDDDD099 1 сентября 2011 в 23:23

Скачал готовый профиль с орга - где друпал инсталлируется вместе с коммерсом и уже созданными товарами для примера - удобно.

Аватар пользователя DDDDD099 DDDDD099 6 сентября 2011 в 16:42
"Ch" wrote:

product display manager немного упрощает этот процесс

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

Аватар пользователя DDDDD099 DDDDD099 10 сентября 2011 в 1:28

Кто нибудь пробовал програмно добавлять кнопку купить в темозированную ноду с товаром?

Аватар пользователя FORTIS FORTIS 10 сентября 2011 в 3:02

там вроде просто отрендерить нодреференс поле и получишь форму с кнопкой

Аватар пользователя DDDDD099 DDDDD099 10 сентября 2011 в 12:33

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

Аватар пользователя FORTIS FORTIS 10 сентября 2011 в 13:39

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

Аватар пользователя DDDDD099 DDDDD099 24 сентября 2011 в 3:57

Помогите пожалуста советом. Возникла необходимость проверять наличие товара на складе перед тем как покупатель сможет положить его в корзину.
Решено. Модуль STOCK.

Аватар пользователя antey antey 21 ноября 2011 в 5:59
"w_andreu_w" wrote:

Как импортировать из CSV в магазин D7 ?

Commerce Feeds :)

Пробовал по разному подсунуть CSV, не робит.

Аватар пользователя garegin garegin 6 января 2012 в 14:17

По умолчанию группа товаров выводится в виде выпадающего списка.
Как изменять виджет вывода группы товаров на странице товара для покупателя?

Аватар пользователя multpix multpix 13 июля 2012 в 20:28
1
"Ch" wrote:

Все равно, отображение товаров там автоматически не создаётся.
product display manager немного упрощает этот процесс.

да нет никаких проблем с автоматическим созданием дисплея для продукта))
но я для себя решил делать наоборот - автоматически создавать продукт из материала
поясню если кому интересно:
1 делаем тип материала
2 делаем тип продукта
3 к типу материала добавляем поля:
ссылка на товар (скрытое поле) - назовем "заказать"
цена - назовем "стартовая цена"
4 делаем правило(rules)
событие : После сохранения нового документа
условие : наш тип материала
действия:
создать сущность продукт ( наш тип продукта) в название, в автора - токенами нашего автора и название,
в ску поле временно ид материала ибо неможет быть пустым, в цену 0.00 значение поля стартовая цена
сохранить сущность !!!
установить значение в поле материала ссылка на продукт ("заказать") токеном свежесозданную сущность
установить значение в поле свежесозданной сущности цена токеном наше "стартовая цена"
Все))

что получили:
манагер публикует материал, вводит заголовок, цену (ну и еще миллион полей тех описания по которым потом будем фильтровать сортировать... но не об этом сейчас)
жмет сохранить и... получает свой материал слинкованый с автоматом созданным для него товаром в который залетели цена, название, автор, ну и ску(про ску - делаем в типе продукта автоску и опять же токенами туда любые данные, как вы помните при создании сущности я лил туда как значение ид материала, так вот автоску перезапишет его по нужному нам шаблону - к примеру [заголовок][сырая дата][создатель])

почему так а не наоборот:
в нашем материале может быть куча полей (таксономия, тех характеристики, связи и тд и тп) так и оставим их на стороне материала
а на сторону товара положим только то что там должно быть в принципе(ведь это бухгалтерия) вот пусть и лежат там цена, складской запас, таксы, доставка и тп.

единственно что меня в этом напрягает - так это поле цена("стартовая цена") на стороне материала
нужно оно лишь единожды, при создании ноды мы его заполнили и значение улетело в цену на сторону продукта

ну и прикрутить к этому импорт (feeds и commerce feeds)
прайс для бухгалтерии и таблица для контент-манагера

ну и флаги для реализации сравнения товаров по полям

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

Думайте, взвешивайте, но на стороне материала больше пользовательских полей(фото, видео, 3d, размер, вес, технологии, блаблабла ....)и работать с ними удобнее когда они именно на стороне материала ( а кто не согласен создайте в типе продукта поле ссылку на термин и покрутите что получилось )))
по этому материал --auto--> товар а не наоборот

и по поводу product display manager http://drupal.org/node/1176966
если вы этого еще не ловили ) ставьте и ловите )) пока не исправлено )))

всем успехов ! смело пользуйте DC Rules и Token :-)

Аватар пользователя 1Andres 1Andres 16 октября 2018 в 6:58

Спасибо Бро.
Придумал в голове это решение на "псевдокоде". Ты помог реализовать без лишних тыков.

Теперь это Ubercart, а не DC) Осталось докрутить авто изменение цены при изменение в Product'е и наоборот, или только в одну сторону. Это нужно продумать.

Аватар пользователя jmd jmd 3 февраля 2012 в 11:02
"multpix" wrote:

установить значение в поле материала ссылка на продукт ("заказать") токеном свежесозданную сущность

Сделал все как написано, но почему то созданная сущность не привязывается к материалу. В чем дело?
UPD: Каюсь, пропустил этот пункт.

"multpix" wrote:

сохранить сущность !!!

А цену можно заполнить сразу при создании сущности. Или не?

Аватар пользователя multpix multpix 3 февраля 2012 в 13:26

можно - но только осторожно)
для меня это скользкий момент, в описанном мой примере правило пишет в поле цена у создаваемого продукта значение из поля стартовая цена созданного материала.
да это работает, но боле похоже на самодельный синхрофазотрон с gps и wifi, чем на мечту о дао))
пример единственно доказывает - нет проблем с авто-созданием связанных сущностей продукт>его_дисплей или дисплей>соответствующий_продукт
а в будущем думаю сами разработчики добавят подобное - но и на сей день уже нет проблем ибо сегодня и всегда rules это рулезз!!
чем дольше колупаешь тем больше понимаешь...
что многого не знаешь и че-то упускаешь))))

Аватар пользователя multpix multpix 3 февраля 2012 в 13:50
"antey" wrote:

Пробовал по разному подсунуть CSV, не робит

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

Аватар пользователя AJIeKceuD AJIeKceuD 15 февраля 2012 в 19:18

Кто-нибудь сталкивался с проблемой когда создаю список товаров с помощью вьюз то админы его видят, а простые пользователи нет? Все как с оригинальным товаром когда его выводишь без отображения...
При этом товары исчезают как только добавляю reference к товару.

UPD
Я нашел право после которого становятся видны товар: View any product of any type. Вот только оно имеет пометку "Предупреждение: это право связано с безопасностью сайта. Предоставляйте это право только пользователям той роли, которым вы доверяете.". Насколько опасно разрешать пользователям подобное?

Аватар пользователя multpix multpix 15 февраля 2012 в 20:10

На публичных страницах сайта, для всех
оперируем не товаром! оперируем материалом с полем-ссылкой на товар!
для него создавай вьюхи и показывай их всем)
это напоминает разделение на витрину, склад и бухгалтерию))
покупателям показываешь только витрину) -это я своими словами
читай и отпадет множество вопросов))

Аватар пользователя AJIeKceuD AJIeKceuD 15 февраля 2012 в 23:27

И я про тоже. Вот только когда при выводе этого материала с полем-ссылкой через views, мы подключаем к нему с помощью relations прикрепленный товар (чтобы среди полей ноды появились цена и другие параметры товара) то этот материал исчезает.

Нашел ссылку на подобную проблему, но я так понял что ни к чему определенному там так и не пришли. http://drupal.org/node/1303194

Аватар пользователя multpix multpix 16 февраля 2012 в 1:00
"AJIeKceuD" wrote:

помощью relations прикрепленный товар

есть продукт (он там базовый тип product)
есть материал (допустим базовый article)
к article добавили поле Product reference (ссылка на товар -если по рус)
ну и еще какие необходимо поля - ссылку на термин таксономии к пример..
вот простая без наворотов связка получилась
делаем вьюху и там хоть материал выводи ,хоть поля ,хоть из display suite ее составляй
ничего не пропадает
хочешь усложнить и ссылаться на него из какой нить другой сущности - ссылайся, но не на продукт , а на его представление - в нашем случае article
на продукт только полем Product reference - тогда он видим всем
и тогда не нужно разрешать к просмотру продукты))

тут парни жуют концепт продукт-дисплей

а тут камрад на великом и могучем делает контрольный в затылок

и все у вас будет гуд)
терпения и удачи)

Аватар пользователя AJIeKceuD AJIeKceuD 16 февраля 2012 в 2:03

По моему я что то не так описываю ) Я сделал ноду (отображение) для товаров, как раз со ссылкой Product reference. После этого товары начали выводится на сайт для всех, в том числе и анонимов. Далее я захотел их стилизировать, для этого я взял views. Во views нет моих кастомных полей, которые я добавил в товар. Если они там есть, то помогите их найти, я почему то в упор не вижу. В Product reference нашел только "в корзину", SKU и Заголовок. Вот это собственно основная проблема.

Я хотел ее решить с помощью Relationships, но тогда получаю проблему с отображением. Решаю проблему с отображением, но получаю сомнения в надежности...

PS

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

Аватар пользователя multpix multpix 16 февраля 2012 в 2:31

давай тогда подробней:
какие поля в товаре
какие поля в материале
что выводишь в вьюху (товар или материал)
и какие поля хочешь отображать во вьюхе

p.s. вьюха - не стилизация а sql запрос (выбрать то с такими-то условиями)
может быть полезным http://drupal.org/project/ds - тут боле стилизация

"AJIeKceuD" wrote:

Последняя ссылка заинтересовала

по последней ссылке, смотри изображение - что и как там прилетает в ноду

"AJIeKceuD" wrote:

Во views нет моих кастомных полей, которые я добавил в товар

погодь добавлять в товар - добавляй в дисплей товара(в тот дисплей к которому добавлена ссылка на товар)
и им оперируй на страницах сайта
в товар добавляй только те поля что нужны для бухгалтерии - и их не показывают гостям - они для манагеров))

Аватар пользователя AJIeKceuD AJIeKceuD 16 февраля 2012 в 11:01

В товаре поле "Вид изделия"
В материале поле Product reference
Во вьюху вывожу материал
Хочу чтобы вьюха вывела мне "Вид изделия" (свойство товара), но поле вьюхи Product reference такого варианта не предлагает.

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

Где то это уже обсуждалось, кроме прочего если вынести свойства товаров в материал то в чем останется разница между ними в самой базе Комерца? SKU? Это не наглядно, не удобно и на мой взгляд странно когда товары лежат без свойств.

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

Аватар пользователя multpix multpix 16 февраля 2012 в 16:46
"AJIeKceuD" wrote:

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

Да будут свойства)
я их атрибутами величаю
просмотреть это
там Ренди так разжевал что комментировать нечего)

Аватар пользователя AJIeKceuD AJIeKceuD 17 февраля 2012 в 19:05

Эту золотую страничку я знаю ) Я конечно не все видео там посмотрел, но частично видел.
Если посмотреть вот это видео: http://vimeo.com/22746978 , то там видно как в 3:30 он добавляет Relationships с привязанным к материалу товаром. В этот момент у меня товары исчезают у простых пользователей. А он, нехороший человек, проверяет в конце работу только под админом...

Аватар пользователя multpix multpix 17 февраля 2012 в 20:10

В начале он там говорит о концепте "product which you dont show to the user" страницы продуктов прайсы и тд.
с этого думаю стоит начать, работая с дисплеями и не перегружать анонимуса рисковыми правами))
то что он там составил - как по мне - вариация прайса для манагера

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

Аватар пользователя VasyOK VasyOK 26 марта 2012 в 7:11

Почитал, про создание продукта к дисплею с помощью Рулес. Чет меня эта идея напрягает.

Пробую Commerce Bulk Product Creation

Дисплей создается когда, товар создан, но только к терминам таксономии этот дисплей не привязан.

Как это победить?

Аватар пользователя AJIeKceuD AJIeKceuD 26 марта 2012 в 15:12

Я создавал отображения с помощью модуля Commerce (Product Display Manager). А зачем связывать отображение с таксономией, почему не достаточно полей в товаре?

Аватар пользователя mishi1981ov mishi1981ov 26 марта 2012 в 16:07

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

Аватар пользователя VasyOK VasyOK 27 марта 2012 в 4:08

Неужели получилось?

Многим нравится как в коммерцбоксе сделали добавление товара.

Э-э-э нет я имел ввиду с помощью
Commerce Bulk Product Creation

commerce product display manager? У меня тоже получилось. Маразм доведенный до совершенства. Теперь на странице создания товара можно ввести имя приатаченного дисплея. Супер!

По поводу Rules они описаны кстати тут
http://drupal.org/node/1300170
и тут тоже намекается, что лучше делать сначала продукт, а потом дисплей.

Аватар пользователя AJIeKceuD AJIeKceuD 27 марта 2012 в 1:05

Создать отображение с помощью Commerce (Product Display Manager)? У меня получалось. Там по сути при создании товара, на той же странице, надо заполнять плюс одно поле. Находились баги, но не смертельные. Правда пришлось отказаться когда начал приделывать импорт. К сожалению ни рулез, ни один из найденных модулей мне не помог. Думаю использовать способ из видеопособия с двойным импортированием.

Нравится, не нравится я считаю что тут на вкус и цвет. Маленький программист внутри меня иногда приходит в восторг от такой реализации и возможностей которые она дает. Но прагматик говорит, что в большинстве случаев это излишнее усложнение. Пока программист бьет прагматика )

Аватар пользователя Amigos Amigos 8 апреля 2012 в 1:51
"AJIeKceuD" wrote:

В этот момент у меня товары исчезают у простых пользователей. А он, нехороший человек, проверяет в конце работу только под админом...

Да это мега баг комерца!!!
Надо выключать перезапись базы. http://drupal.org/node/1276450#comment-4994174

Аватар пользователя jmd jmd 2 мая 2012 в 14:39

А еще такой вопрос: он вроде поднимался, но косвенно. Мне нужно добавить в товар(и в сущность и в материал) еще одно поле - оптовая цена. То что оно должно быть и там и там объяснять, думаю, не надо. Каким образом я могу изменять это поле одновременно, так же как и основную цену? При редактировании просто нет этого поля у сущности. Что делать?

Аватар пользователя AJIeKceuD AJIeKceuD 2 мая 2012 в 15:52

Ну ты можешь добавить еще одно поле типа "цена" в товар. Ссылка должна быть типа ../admin/commerce/products/types/product/fields. Там редактируешь поля как у простых нод.
Еще возможно на эту тему можно посмотреть вот это: http://www.drupal.ru/node/66535

Аватар пользователя Artu Artu 13 июля 2012 в 20:24

multpix, по вашему Rules рецепту.

не получилось устанавливать значение цены для сущности товара после сохранения этой сущности. Цена так и оставалась нулевой. Повторное сохранение ничего не дает.
А вот при создании сущности товара цену удалось установить.
А в чем разница, если результат один?

Аватар пользователя multpix multpix 13 июля 2012 в 20:33
"Artu" wrote:

не получилось устанавливать значение цены

все верно - исправил пост

"Artu" wrote:

вручную изменяете цену

editablefields и доработать стандартный вьюс товаров

а вообще в ручную редко
импорт товаров и импорт их отображений поинтересней будут

Аватар пользователя Artu Artu 13 июля 2012 в 20:38

multpix, я так понимаю импортить нужно сущности и ноды отдельно (со связью).

Rules предложенный вами сработает на создание и не сработает на обновление при импорте?

Кстати, а можно ли и стоит ли делать подобный Rules на обновление ноды?

Аватар пользователя multpix multpix 13 июля 2012 в 20:53
"Artu" wrote:

можно ли и стоит ли делать подобный Rules на обновление ноды

сделать можно, а стоит ли - решать вам

импорт - feeds commerce_feeds
сначала продукты потом их дисплеи

p.s.
в D7 нода это один из типов сущностей

Аватар пользователя GGG1 GGG1 7 августа 2013 в 18:25

Десять раз устанавливал и друпал и cjmmerce/ НЕТ пункта 4 после первых трех пунктов. МЛЯ!

Аватар пользователя GGG1 GGG1 7 августа 2013 в 18:31

включаешь 3 пункт по вашему описанию и получаешь:Additional uncaught exception thrown while handling exception.
Original
PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source AND s.context = :context AND s.textgroup = 'default'; Array ( [:language] => ru [:source] => Settings for logging and alerts modules. Various modules can route Drupal's system events to different destinations, such as syslog, database, email, etc. [:context] => ) in locale() (line 720 of Z:\home\sborca\www\modules\locale\locale.module).
Additional
PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source AND s.context = :context AND s.textgroup = 'default'; Array ( [:language] => ru [:source] => The website encountered an unexpected error. Please try again later. [:context] => ) in locale() (line 720 of Z:\home\sborca\www\modules\locale\locale.module).
Uncaught exception thrown in session handler.
PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away in _drupal_session_write() (line 209 of Z:\home\sborca\www\includes\session.inc).
Fatal error: Exception thrown without a stack frame in Unknown on line 0

И все заново!!!!!!!!!!!

Аватар пользователя ArtZ ArtZ 16 ноября 2013 в 14:46
"multpix" wrote:

да нет никаких проблем с автоматическим созданием дисплея для продукта))
но я для себя решил делать наоборот - автоматически создавать продукт из материала
поясню если кому интересно:
1 делаем тип материала
2 делаем тип продукта
3 к типу материала добавляем поля:
ссылка на товар (скрытое поле) - назовем "заказать"
цена - назовем "стартовая цена"
4 делаем правило(rules)
событие : После сохранения нового документа
условие : наш тип материала
действия:
создать сущность продукт ( наш тип продукта) в название, в автора - токенами нашего автора и название,
в ску поле временно ид материала ибо неможет быть пустым, в цену 0.00 значение поля стартовая цена
сохранить сущность !!!
установить значение в поле материала ссылка на продукт ("заказать") токеном свежесозданную сущность
установить значение в поле свежесозданной сущности цена токеном наше "стартовая цена"
Все))

В процессе реализации возник такой вопрос, Как вывести кнопку добавления товаров в корзину? Использовал данный способ, только потом еще импортировал в тип материалов из CSV ( автоматом создаются типы продуктов) но для отображения кнопки необходимо в типе материала в поле "ссылка на товар" указать значение еще не созданного типа продукта,запутался нахрен, народ направьте на путь истинный )

Аватар пользователя ArtZ ArtZ 18 ноября 2013 в 10:21
"ArtZ" wrote:

В процессе реализации возник такой вопрос, Как вывести кнопку добавления товаров в корзину? Использовал данный способ, только потом еще импортировал в тип материалов из CSV ( автоматом создаются типы продуктов) но для отображения кнопки необходимо в типе материала в поле "ссылка на товар" указать значение еще не созданного типа продукта,запутался нахрен, народ направьте на путь истинный )

Вопрос всё еще актуален) Можно пойти обратным путем конечно, но интересует именно так : тип материала > auto >тип товара

Аватар пользователя multpix multpix 18 ноября 2013 в 10:38
"ArtZ" wrote:

Вопрос всё еще актуален)

ухтышка, а был вопрос?
ну так задайте его осмысленно)))

пишите внятно, подробно и без двойственных трактовок свой вопрос на русском языке
(или на енгл. на drupal.org),
и вам будет дан ответ
(если, как это часто бывает, он у вас не возникнет раньше,
ибо грамотная постановка вопроса = решение).

дополнительно добавлю:
методика из моего прошлого поста вполне работоспособна, но прошу ее воспринимать сугубо в академических целях.
ибо при использовании импорта записей,
либо применяя [module=inline_entity_form],
ее практическая ценность стремиться к нулю.

Аватар пользователя ArtZ ArtZ 18 ноября 2013 в 11:38
"multpix" wrote:

ухтышка, а был вопрос?
ну так задайте его осмысленно)))

пишите внятно, подробно и без двойственных трактовок свой вопрос на русском языке
(или на енгл. на drupal.org),
и вам будет дан ответ
(если, как это часто бывает, он у вас не возникнет раньше,
ибо грамотная постановка вопроса = решение).

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

Вот сам вопрос:

"ArtZ" wrote:

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

по поводу:

"multpix" wrote:

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

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

Аватар пользователя lexsaenko lexsaenko 6 сентября 2015 в 12:56

Подскажите как лучше организовать товары. Для каждого типа товаров DC создавать свой тип дисплея (например: сумки -> сумки, кошельки -> кошельки) или можно создать один тип дисплея (Товар) и с ним связывать все типы товаров DC (Товар - сумки, товар - кошельки)???

Аватар пользователя multpix multpix 7 сентября 2015 в 19:56
"lexsaenko" wrote:

Это уж как диктуют конкретная ситуация.

По примеру "сумки кошельки":
к дисплею "аксессуары" добавить поле термин из словаря "Тип" (сумка, кошелек etc.) поле термин из словаря "принадлежность" (муж, жен, etc), и сколь угодно словарей терминов, где будут "Спорт/Вечерние", "кожа/некожа", etc.,
и, естественно, поле линк на продукт.

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

И только потом клоцать мышкой и кодить)))

Аватар пользователя harhor harhor 22 июля 2018 в 15:56

Кому-то удалось добавить кнопку добавления в корзину? Тоже мучаюсь с массовым импортом. В принципе можно было бы не выводить ноды с товаром, а выводить сами товары и там эта кнопка есть, да вот проблема, что во вьюхе с товарами ссылки на сам товар отсылают в админку, т.е. материалы всё равно нужны. Как быть не пойму.(