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

Вопрос! Есть ли возможность удалить значения опции без товаров?


DMac

Recommended Posts

Здравствуйте друзья!

Есть ли возможность удалить значения опции которые не привязаны ни к одному товару?

Или хотя бы вывести список в редактировании определенной опции?

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

Прошлые контенщики , неверное не особо заморачивались над правильным списком значений...

 

Заранее спасибо!

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


10.11.2022 в 15:07, DMac сказал:

Здравствуйте друзья!

Есть ли возможность удалить значения опции которые не привязаны ни к одному товару?

Или хотя бы вывести список в редактировании определенной опции?

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

Прошлые контенщики , неверное не особо заморачивались над правильным списком значений...

 

Заранее спасибо!

Да, а что мешает удалить?

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

10.11.2022 в 15:23, chukcha сказал:

Да, а что мешает удалить?

Если я начну их удалять, то они будут удаляться с самих товаров, а этого не нужно, очень не нужно...

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


10.11.2022 в 15:07, DMac сказал:

Есть ли возможность удалить значения опции которые не привязаны ни к одному товару?

Удаляйте

Можно конечно написать запрос на удаление не используемых

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

так надо не искать, а писать


SELECT * FROM option_value ov
LEFT JOIN product_option op ON (ov.option_id = op.option_id)  

WHERE op/option_id  is nul

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

10.11.2022 в 15:52, chukcha сказал:

так надо не искать, а писать


SELECT * FROM option_value ov
LEFT JOIN product_option op ON (ov.option_id = op.option_id)  

WHERE op/option_id  is nul

Спасибо! Сейчас попробую.

А этот запрос удалит все неиспользуемые значения с определенной опции или со всех?

 

И написал бы, но запросы в базу для меня это чрезмерно сложно...

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


10.11.2022 в 15:55, DMac сказал:

А этот запрос удалит все неиспользуемые значения с определенной опции или со всех?

НЕТ

Если бы что-то удалял, то я бы напомнил про бекап

Это запрос должен показать какие опции удалять
Подключить еще пару таблиц, то можно показать и название опции, и ее значение.

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

10.11.2022 в 15:59, chukcha сказал:

НЕТ

Если бы что-то удалял, то я бы напомнил про бекап

Это запрос должен показать какие опции удалять
Подключить еще пару таблиц, то можно показать и название опции, и ее значение.

Это явно для меня нереально, я и с этим едва справился 

SELECT * FROM oc_option_value ov
LEFT JOIN oc_product_option op ON (ov.option_id = op.option_id)
WHERE op.option_id is null

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

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


10.11.2022 в 18:38, DMac сказал:

я и с этим едва справился 

Но ведь справился )))

 

Данный запрос что-то вывел?

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

10.11.2022 в 19:42, chukcha сказал:

Но ведь справился )))

 

Данный запрос что-то вывел?

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

Да, запрос вывел строки, но среди них нет ID опции "Размеры" в этой опции ID 13 и в ней должны быть option_value_id который Точно не использует ни один товар. Это значения я создал чтобы посмотреть будет ли оно в выдаче, но его там не оказалось...

 

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


ну да

SELECT * FROM oc_option_value ov
LEFT JOIN oc_product_option_value op ON (ov.option_id = op.option_id AND ov.option_value_id = op.option_value_id)
WHERE op.option_id is null  
 

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

10.11.2022 в 20:03, chukcha сказал:

ну да

SELECT * FROM oc_option_value ov
LEFT JOIN oc_product_option_value op ON (ov.option_id = op.option_id AND ov.option_value_id = op.option_value_id)
WHERE op.option_id is null  
 

Круто, работает!))) 

Только я не туда смотрел, не на тот ID я в админке через дебагер посмотрел option_value и почему-то подумал что это ID... В выдаче есть нужный ID значения и имеет нужный ID самой опции, выдача правильная, большое вам спасибо!;) но напишите пожалуйста запрос чтобы и удалить. Я знаю что запросы отличаются один для селект другой для удаления и т.д. и различия могут быть сильными.

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


10.11.2022 в 20:28, DMac сказал:

но напишите пожалуйста запрос чтобы и удалить

Дальше все просто )))
бекап
бекап
бекап

DELETE op_v FROM oc_option_value op_v
JOIN (SELECT ov.* FROM oc_option_value ov
LEFT JOIN oc_product_option_value op ON (ov.option_id = op.option_id AND ov.option_value_id = op.option_value_id)
WHERE op.option_id is null) as op_v1 ON (op_v.option_value_id = op_v1.option_value_id)

 

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

10.11.2022 в 20:42, chukcha сказал:

Дальше все просто )))
бекап
бекап
бекап

DELETE op_v FROM oc_option_value op_v
JOIN (SELECT ov.* FROM oc_option_value ov
LEFT JOIN oc_product_option_value op ON (ov.option_id = op.option_id AND ov.option_value_id = op.option_value_id)
WHERE op.option_id is null) as op_v1 ON (op_v.option_value_id = op_v1.option_value_id)

 

КЛАСС!!!))) Работает, удалил все не используемые значения опций, теперь хоть товар можно нормально добавить, а то сидишь листаешь эти значения)))

Спасибо вам! Кстати, сделайте модуль для опций и атрибутов, думаю будет актуально, я бы точно купил))) 

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


10.11.2022 в 20:51, DMac сказал:

делайте модуль для опций и атрибутов,

Для атрибутов есть

Опции - менее востребованы и немного сложнее.

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

10.11.2022 в 20:53, chukcha сказал:

Для атрибутов есть

Опции - менее востребованы и немного сложнее.

У вас такого модуля нет, у нас на сайте много ваших модулей))) Кстати, по модулю "Быстрое заполнения атрибутов" там косяк с апострофами, отрезает все после апострофа...

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

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


10.11.2022 в 20:58, DMac сказал:

Кстати, по модулю "Быстрое заполнения атрибутов" там косяк с апострофами, отрезает все после апострофа...

может быть, почему не пишите?

 

 

10.11.2022 в 20:58, DMac сказал:

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

Наверное никак
Это ужОс как редко требуется, и делается одним запросом. )))

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

10.11.2022 в 21:02, chukcha сказал:

может быть, почему не пишите?

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

 

10.11.2022 в 21:02, chukcha сказал:

Это ужОс как редко требуется, и делается одним запросом. )))

А у вас есть такой запрос? )))) 

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


10.11.2022 в 21:06, DMac сказал:

Я вам вроде бы писал об этом))

И не ответил?
Пишите еще раз.
 

 

10.11.2022 в 21:06, DMac сказал:

А у вас есть такой запрос? )))) 

А предыдущий у меня был?

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

10.11.2022 в 21:09, chukcha сказал:

И не ответил?
Пишите еще раз.
 

 

А предыдущий у меня был?

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

Сейчас напишу вам в лс

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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