Jump to content
Sign in to follow this  
4ever

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

Recommended Posts

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Можете подробнее написать??

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

Добрый вечер.
Получилось задавать несколько производителей,через дополнительную таблицу 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 . - не пойму как переписать под мои условия.

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

 

Edited by 4ever

Share this post


Link to post
Share on other sites
В 29.05.2015 в 19:00, 4ever сказал:

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

 

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

Share this post


Link to post
Share on other sites
В 28.05.2015 в 12:05, Helloween сказал:

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By legioner26
      399.00 руб
      Скачать/Купить дополнение


      Сортировка товаров в заказе по категориям с учетом остатков
      Разработан модификатор с сортировкой товаров в заказе по категориям в админ панели, в пользовательской части, в письме заказчику и письме администратора магазина.
      Данный функционал в разы упрощает работу менеджеров в подборе номенклатуры для выставления счетов.
      Так же в админке в заказах добавлена колонка производителя, фото товара и учет остатков по складу с возможностью сохранять выбор.
      Установка:
      Устанавливаете модификатор через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
       
      Добавил legioner26 Добавлено 27.12.2017 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 800  
    • By legioner26
      Разработан модификатор с сортировкой товаров в заказе по категориям в админ панели, в пользовательской части, в письме заказчику и письме администратора магазина.
      Данный функционал в разы упрощает работу менеджеров в подборе номенклатуры для выставления счетов.
      Так же в админке в заказах добавлена колонка производителя, фото товара и учет остатков по складу с возможностью сохранять выбор.
      Установка:
      Устанавливаете модификатор через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
       
    • By smartcoder
      490.00 руб
      Скачать/Купить дополнение


      SmartProducts - товары в любом месте сайта + лэндинг страницах
      Возможности модуля:
      1. Установка блоков товаров на партнерских сайтах с отслеживанием партнерского трэк-кода.
      2. Установка блоков товаров в статьи или в категории, абсолютно в любое место сайта.
      3. Фильтрация блоков по определенным категориям, популярности, новизне.
      4. Отслеживание tracking кода с какой площадки был сделан заказ и отметка в заказе.
       
      Демо:
      http://demo23.smart-coder.ru/admin/index.php?route=extension/extension
      demo/demo
       
      Модуль SmartProducts можно использовать как для составления блоков товаров и размещением их абсолютно на любой странице, как и для партнерской программы.
       
      P.S.: Модуль распространяется как есть.
      Перед покупкой ознакомьтесь с описанием модуля и с демо версией, указанной выше.
      Автор в праве отказать в поддержке и в возврате средств, если вы будете устанавливать на видоизмененный opencart (даже если поменяли только папку ./admin)
       
      Добавил smartcoder Добавлено 13.05.2018 Категория Модули Системные требования Сайт разработчика smart-coder.ru Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет Старая цена  
    • By smartcoder
      Возможности модуля:
      1. Установка блоков товаров на партнерских сайтах с отслеживанием партнерского трэк-кода.
      2. Установка блоков товаров в статьи или в категории, абсолютно в любое место сайта.
      3. Фильтрация блоков по определенным категориям, популярности, новизне.
      4. Отслеживание tracking кода с какой площадки был сделан заказ и отметка в заказе.
       
      Демо:
      http://demo23.smart-coder.ru/admin/index.php?route=extension/extension
      demo/demo
       
      Модуль SmartProducts можно использовать как для составления блоков товаров и размещением их абсолютно на любой странице, как и для партнерской программы.
       
      P.S.: Модуль распространяется как есть.
      Перед покупкой ознакомьтесь с описанием модуля и с демо версией, указанной выше.
      Автор в праве отказать в поддержке и в возврате средств, если вы будете устанавливать на видоизмененный opencart (даже если поменяли только папку ./admin)
       
    • By DSV
      2 300.00 руб
      Скачать/Купить дополнение


      Grand - адаптивный универсальный шаблон
      Grand – многоцелевой, настраиваемый, легкий в использовании и полностью адаптивный шаблон для работы современного интернет магазина. 
      Подходит для любого типа магазина: одежда, обувь, электроника, спорт, ювелирные изделия и многое другое ...
       
      Демонстрация
      Магазин: http://grand.kreativ.pro/
      Админка: http://grand.kreativ.pro/admin/ , доступ: demo / demo
       
      Совместимость
      Работает с Opencart v3.0, Русская сборка OpenCart v3.0, ocStore v3.0
       
      Настройки:
      "Быстрый Старт" (Quick Start).
      Настройка основных цветов в админке
      Добавление CSS в админке
      Добавление JavaScript в админке
      Модуль "Настройка шаблона"
      Модуль "Баннеры"
      Модуль "Новости" (с добавлением сопутствущих товаров)
      Модуль "Категории на главной", с возможностью выбора категорий, выводятся блоками по одной категории
      Модуль "Заказ в 1 клик" (с учетом в админке)
      Модуль "Вывод текста во всплывающем окне"
      Модуль "Дополнительные вкладки в карточке товара"
      Модуль "Нашли дешевле?"
      Модуль "Заказ обратного звонка" (с учетом в админке)
      Модуль "Подписка на новости"
      Модуль "Просмотренные товары"
      Модуль "Рекомендуемые" (добавляете свои товары и меняете заглавие на свое)
      Модуль "Слайдшоу" (с возможностью добавления своего текста и некоторыми настройками)
      Модуль "Сообщить когда появится"
      Модуль "Текстовые баннеры"
      Модуль "Быстрый просмотр товара"
      Вывод Артикула (SKU) в карточке товара
      Добавление карты на странице "Контакты"
      Пользовательские меню в шапке сайта
      Контактная информация в шапке сайта
      Контактная информация в подвале сайта
      Трехуровневое основное и боковое меню
      Основное меню (свои ссылки, бренды, информация, контакты)
      Стикер товара – Акция
      Иконки социальных сетей в шапке сайта
      Иконки социальных сетей в подвале
      Иконки платежных систем в подвале сайта
      Свои иконки социальных сетей в карточке товара и в новостях
      Zoom эффект изображения в карточке товара
      Возможность отключения кнопки "Купить" и "Заказ в один клик" если товара нет в наличии
      Свои ссылки в подвале сайта
      Слайдер дополнительных изображений в карточке товара
      Всплывающее окно при нажатии кнопки купить
      Авторизация во всплывающем окне
      В настройках шаблона можно добавить логотип в подвале сайта
      Хлебные крошки - убраны ссылки страницы на саму себя
      Вкл/Выкл краткого описания товаров
      Вкл/Выкл прокрутки в модулях (рекомендуемые, акции, бестселлер, новинки, блог)
      Вкл/Выкл картинки категорий в списке товаров
      Вкл/Выкл кнопки в "Закладки", в "Сравнение"
      Вкл/Выкл ссылок в подвале сайта
      Вкл/Выкл микроразметки карточки товара
      Вкл/Выкл поворота картинки при наведении курсора
      Вкл/Выкл Условия соглашения (Контакты, Быстрый заказ, Заказ звонка)
       
      Лицензия:
      Шаблон можно использовать только на одном основном домене (тестовые без ограничений).
       
      Техническая поддержка
      Через личные сообщения на данном форуме.
      Поддержка производится только пользователям, числящимся в списке покупателей шаблона.
      Добавил DSV Добавлено 09.12.2018 Категория Платные шаблоны Системные требования Сайт разработчика dsv@kreativ.pro Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 2500  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.