Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


DMac
 Поделиться

Рекомендованные сообщения

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

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

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

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

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

 

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

Ссылка на комментарий
Поделиться на других сайтах


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
Ссылка на комментарий
Поделиться на других сайтах

 

У этого модуля есть возможность редактирования значений

 

  • +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 сказал:

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

 

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.