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

Как добавить несколько производителей одному товару.


Recommended Posts

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

p.s.Способы типа "решить за деньги",пожалуйста не предлагайте.Я бедный джуниор,которому надо как-то расти и качать скиллы.

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


Один товар - один производитель.

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

Если компании выпускают какой-то продукт совместно (был такой опыт в начале 2000-х среди мобилопроизводителей), например:

Sony&Ericsson, Siemens&Benq, то именно так и стоит занести запись производителя и привязывать к товару именно такое название.

То есть, не может один товар (единица товара) производиться несколькими компаниями. Партии - могут, а единицы товара производятся одним производителем. Так что, если у вас идентичные товары, но от производителей Panasound, Panisonac, Panasonik и т.п. - просто создайте товары с привязкой к каждому производителю отдельно. 

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


Один товар - один производитель.

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

Если компании выпускают какой-то продукт совместно (был такой опыт в начале 2000-х среди мобилопроизводителей), например:

Sony&Ericsson, Siemens&Benq, то именно так и стоит занести запись производителя и привязывать к товару именно такое название.

То есть, не может один товар (единица товара) производиться несколькими компаниями. Партии - могут, а единицы товара производятся одним производителем. Так что, если у вас идентичные товары, но от производителей Panasound, Panisonac, Panasonik и т.п. - просто создайте товары с привязкой к каждому производителю отдельно. 

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

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


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

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

Задумайтесь:

1. фильтры (наверняка ведь будет фильтр по производителю в категории)

2. страница производителя (как будет выводиться товар, привязанный сразу к двум и более производителям?)

3. возможно я еще что-то упустил. Но и того, что привел в пример - уже не мало.

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


p.s.Способы типа "решить за деньги",пожалуйста не предлагайте.Я бедный джуниор,которому надо как-то расти и качать скиллы.

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

малосовместимо ;)

 

Создать доп колонки в бд тогда и выводить в карточку

если только в карточке выводить - достаточно доп.поле создать

или вообще - задействовать под это дело любое из неиспользуемых полей (isbn, jan и тд)

 

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

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

Создать доп колонки в бд тогда и выводить в карточку

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

 

О, AlexDW на секунду опередил :)

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


малосовместимо ;)

 

если только в карточке выводить - достаточно доп.поле создать

или вообще - задействовать под это дело любое из неиспользуемых полей (isbn, jan и тд)

 

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

Нужен просто вывод в карточку товара,насколько я понял.Спасибо,буду пробовать реализовать.

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


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

 

О, AlexDW на секунду опередил :)

Спасибо,за уделенное время.

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


Добрый вечер.
Получилось задавать несколько производителей,через дополнительную таблицу product_to manufacturer (product_id,manufacturer_id)...
Т.е. у нас например есть товар с id 2 и ему заданы производители с id 3,4,5 в таблице это запишется как отдельные записи,
 
product_id                 manufacturer_id

      2                                     3

      2                                     4

      2                                     5

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

$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . - не пойму как переписать под мои условия.

Спасибо,за помощь.
 

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


структура БД такова, что у товара предусмотрен один и только один производитель

 

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

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

 

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

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

структура БД такова, что у товара предусмотрен один и только один производитель

 

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

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

 

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

А если расширить таблицу product_to manufacturer....передавать туда имя,ссылку,картинку и т.д....и просто подменять стандартный вывод в карточке на свой и в модель продукта функцию под это все написать??? Что думаете??

 

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


  • 1 year later...
В 29.05.2015 в 19:00, 4ever сказал:

А если расширить таблицу product_to manufacturer....передавать туда имя,ссылку,картинку и т.д....и просто подменять стандартный вывод в карточке на свой и в модель продукта функцию под это все написать??? Что думаете??

 

Добрый вечер. Вы решили эту проблему? Если да, поделитесь пожалуйста как.

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


В 28.05.2015 в 12:05, Helloween сказал:

Один товар - один производитель.

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

Если компании выпускают какой-то продукт совместно (был такой опыт в начале 2000-х среди мобилопроизводителей), например:

Sony&Ericsson, Siemens&Benq, то именно так и стоит занести запись производителя и привязывать к товару именно такое название.

То есть, не может один товар (единица товара) производиться несколькими компаниями. Партии - могут, а единицы товара производятся одним производителем. Так что, если у вас идентичные товары, но от производителей Panasound, Panisonac, Panasonik и т.п. - просто создайте товары с привязкой к каждому производителю отдельно. 

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

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


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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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