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

Массовое добавление опций


edifier

Recommended Posts

Добрый день!

Полазил по форуму и не нашел ответ наследующий вопрос: каким образом можно добавить одну и ту же опцию ко всем товарам в определенной категории( не редактируя при этом каждый товар) ?

То есть мне нужно чтоб у всех товаров в категории были одни и те же опции.

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


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

Я через этот модуль сохранил на компе файл. Открыл в экселе, и что я увидел: опции все равно придется прописывать к каждому товару. Ведь опция привязывается к id-product , и значит что мне вручную нужно будет прописать все айди продуктов для вывода опции...

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


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

А Вы чего хотели?

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


как вариант воспользоваться модулем "импорт-экспорт"

а каким образом вы пользуетесь модулем "импорт-экспорт", ведь в нём добавление опций совсем неработает. я различные версии перепробывал, не в одной версии модуля импорт опций неработает.
Надіслати
Поділитися на інших сайтах


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

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


Возможно ли опции привязывать не к product_id а к category_id?

можно!

но при этом не будет работать количество товаров в опциях (вычет со склада , нет на складе и тд )

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


теоретически так -

опции достаются в контроллере так (стр 256)

$this->model_catalog_product->getProductOptions($this->request->get['product_id'])
так вот если подмненять product_id - то мы можем получить опции совершенно другого продукта

то есть суть идеи такова делаем один продукт - прописываем ему опции для конкретной категории

а далее методом нехитрых манипуляций подcовываем для всех продуктов одной категории эту опцию

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


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

Что сделал:

в файле catalog\model\catalog\product строку :

$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");
заменил на :

$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (po.product_id = p2c.category_id) WHERE p2c.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");
и строку :

$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");
заменил на :

$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (pov.product_id = p2c.category_id) WHERE p2c.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");
В файле system\library\cart строку:

$option_query = $this->db->query("SELECT po.product_option_id, po.option_id, od.name, o.type FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_option_id = '" . (int)$product_option_id . "' AND po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "'");
заменил на :

$option_query = $this->db->query("SELECT po.product_option_id, po.option_id, od.name, o.type FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "product_option po ON (p2c.category_id = po.product_id) LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id)  LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_option_id = '" . (int)$product_option_id . "' AND p2c.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "'");
В админке открыл первый попавшийся товар и добавил ему опции, которые хочу увидеть во всех товарах определенной категории.

Затем через админку загрузил на компьютер файл backup.sql и открыв его в notepad++ нашел следющие строки:

INSERT INTO `product_option` (`product_option_id`, `product_id`, `option_id`, `option_value`, `required`)
и

INSERT INTO `product_option_value` (`product_option_value_id`, `product_option_id`, `product_id`, `option_id`, `option_value_id`, `quantity`, `subtract`, `price`, `price_prefix`, `points`, `points_prefix`, `weight`, `weight_prefix`)
в которых в значении "product_id" поставил значение "category_id" взятое в строках

INSERT INTO `category_description` (`category_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`, `seo_title`, `seo_h1`)

Вроде простейшие для кого то изменения проделал, но ушло у меня на это около 4 дней, так как до этого момента толком и не знал что такое БД, не говоря уже о пхп и прочим премудростям. Теперь хоть имею общее представление как работает магазин( что соответственно пошло мне на пользу)

Вопрос к спецам и всем кто в этом разбирается: не могут ли проделанные мною изменения навредить магазину? На ошибки проверил и логи вроде как чистые, но уверенность в том, что сделал правильно еще не присутствует у меня.

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


  • 1 year later...

Сделал все по инструкции (огромное спасибо тебе edifir) Название опции добавились в категорию но вот значений опций нету ! к примеру опция "Размер" (S. M. L . ...) в категории 1 появляется "Размер" но значений (S. M. L . ...) нет Добавлял новые все так же название отображается в карточке товара а значения нет

 

Хотя после експорта (модель импорт/експорт)  в таблице прописано верно и опция и её значения есть

 подскажите плиз где ошибка , как исправить

 

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

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


  • 3 years later...

Batch Editor штука конечно хорошая, но с ним не настроить модуль Связанные / зависимые опции 1.3.7 

Сделал чуть по удобнее последнюю часть.

Методом автора было довольна проблематично редактировать опции.

Создал новую категорию (id67), создал продукт с которого будут скопированы опции его id был 1639, с через myadmin переименовал  oc_category oc_category_description из 67 в 1639.

продукт отправил в новую категорию

В результате можно менять опции через админку.

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


  • 3 years later...
В 29.04.2013 в 18:54, sobwoofer сказал:

Зачем парить себе мозги? можно просто установить Модуль, и за быть о всех проблемах такого рода.

а каким образом массово через Batch Editor можно добавить опции к товарам ?

Я голову всю сломал.

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

Подскажите, пожалуйста!=)

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


13 часов назад, miracl1313 сказал:

а каким образом массово через Batch Editor можно добавить опции к товарам ?

Я голову всю сломал.

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

Подскажите, пожалуйста!=)

так идите в тему поддержки батч эдитора и спросите )

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


8 часов назад, AWARO сказал:

так идите в тему поддержки батч эдитора и спросите )

Спросил, но от вас был бы ответ быстрее ) Все равно спасибо!

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


3 часа назад, miracl1313 сказал:

Спросил, но от вас был бы ответ быстрее ) Все равно спасибо!

да ну не, с чего вы взяли? там много кто им пользуется и ответ быстрее получите )

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

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

Important Information

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