VladBlad Опубліковано: 24 липня 2013 Share Опубліковано: 24 липня 2013 Пытаюсь удалить атрибут, пишет сообщение: Этот атрибут не может быть удален, так как назначен 2 товарам! Как найти эти товары, которым присвоен данный атрибут? Надіслати Поділитися на інших сайтах More sharing options...
dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Если товаров не много, я делал так: 1. Качаем SQL БД, 2. Ищем в "oc_product_attribute" нужный атрибут и смотрим id товара, Пример: INSERT INTO `oc_product_attribute` (`product_id`, `attribute_id`, `language_id`, `text`) VALUES ('68', '12', '1', 'металл'); 3. Дальше ищем в БД "product_id=11111", где "11111" - это id нужного товара 4. Там же рядом "product_id=..." есть значение, напримет "korobka-2" - это урл товара, Выглядит строчка так INSERT INTO `oc_url_alias` (`url_alias_id`, `query`, `keyword`) VALUES ('849', 'product_id=68', 'korobka-2'); 1 Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки 3 Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Можно подробнее про удаление из админки? Есть 300 товаров с атрибутом "а", как бы его везде удалить? p.s. и 300 это не предел)) реструктуризация карточек товара однако :ugeek: Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Можно подробнее про удаление из админки? Есть 300 товаров с атрибутом "а", как бы его везде удалить? p.s. и 300 это не предел)) реструктуризация карточек товара однако :ugeek: Из админки удаляется сам атрибут Сначала нужно удалить атрибут из товара в phpmyadmin Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Да. Я имел ввиду, если без команд через панель myadmin, просто выгрузить через сам ocStoree и перезалить. там точно ничего не накроется? Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Всё разобрался. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... davaiigrat Опубліковано: 29 жовтня 2016 Share Опубліковано: 29 жовтня 2016 Добрый вечер! Очень надеюсь на помощь! Можете более подробно написать, как определить ID атрибута и как его удалить? Заранее спасибо! Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 30 жовтня 2016 Share Опубліковано: 30 жовтня 2016 ЗАйти в катлог, атрибуты, найти свой атрибут, в ссылке указан его id attribute_id Надіслати Поділитися на інших сайтах More sharing options... 3 years later... olegchernov Опубліковано: 14 вересня 2020 Share Опубліковано: 14 вересня 2020 В 04.04.2014 в 15:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Прошу прощения, можете уточнить где это вводить? Надіслати Поділитися на інших сайтах More sharing options... 11 months later... Danishevskiy Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 В 04.04.2014 в 16:39, dst сказал: Всё разобрался. Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Надіслати Поділитися на інших сайтах More sharing options... WarStyle Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 3 часа назад, Danishevskiy сказал: Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Заходим в админку сайта, далее Каталог - Характеристики - Характеристики, выбираем нужный атрибут и редактируем. В адресной строке есть айди атрибута: http://joxi.ru/vAWnevYH3kPq12 Когда имеем айди, делаем запрос в базу данных как описано выше. В 04.04.2014 в 14:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Перед всеми действиями в базе данных рекомендую сделать бекап базы данных! 2 Надіслати Поділитися на інших сайтах More sharing options... Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання [Решено] Как удалить атрибут, если он присвоен товару? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Можно подробнее про удаление из админки? Есть 300 товаров с атрибутом "а", как бы его везде удалить? p.s. и 300 это не предел)) реструктуризация карточек товара однако :ugeek: Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Можно подробнее про удаление из админки? Есть 300 товаров с атрибутом "а", как бы его везде удалить? p.s. и 300 это не предел)) реструктуризация карточек товара однако :ugeek: Из админки удаляется сам атрибут Сначала нужно удалить атрибут из товара в phpmyadmin Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Да. Я имел ввиду, если без команд через панель myadmin, просто выгрузить через сам ocStoree и перезалить. там точно ничего не накроется? Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Всё разобрался. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... davaiigrat Опубліковано: 29 жовтня 2016 Share Опубліковано: 29 жовтня 2016 Добрый вечер! Очень надеюсь на помощь! Можете более подробно написать, как определить ID атрибута и как его удалить? Заранее спасибо! Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 30 жовтня 2016 Share Опубліковано: 30 жовтня 2016 ЗАйти в катлог, атрибуты, найти свой атрибут, в ссылке указан его id attribute_id Надіслати Поділитися на інших сайтах More sharing options... 3 years later... olegchernov Опубліковано: 14 вересня 2020 Share Опубліковано: 14 вересня 2020 В 04.04.2014 в 15:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Прошу прощения, можете уточнить где это вводить? Надіслати Поділитися на інших сайтах More sharing options... 11 months later... Danishevskiy Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 В 04.04.2014 в 16:39, dst сказал: Всё разобрался. Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Надіслати Поділитися на інших сайтах More sharing options... WarStyle Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 3 часа назад, Danishevskiy сказал: Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Заходим в админку сайта, далее Каталог - Характеристики - Характеристики, выбираем нужный атрибут и редактируем. В адресной строке есть айди атрибута: http://joxi.ru/vAWnevYH3kPq12 Когда имеем айди, делаем запрос в базу данных как описано выше. В 04.04.2014 в 14:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Перед всеми действиями в базе данных рекомендую сделать бекап базы данных! 2 Надіслати Поділитися на інших сайтах More sharing options... Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання [Решено] Как удалить атрибут, если он присвоен товару? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Можно подробнее про удаление из админки? Есть 300 товаров с атрибутом "а", как бы его везде удалить? p.s. и 300 это не предел)) реструктуризация карточек товара однако :ugeek: Из админки удаляется сам атрибут Сначала нужно удалить атрибут из товара в phpmyadmin Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Да. Я имел ввиду, если без команд через панель myadmin, просто выгрузить через сам ocStoree и перезалить. там точно ничего не накроется? Надіслати Поділитися на інших сайтах More sharing options... dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Всё разобрался. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... davaiigrat Опубліковано: 29 жовтня 2016 Share Опубліковано: 29 жовтня 2016 Добрый вечер! Очень надеюсь на помощь! Можете более подробно написать, как определить ID атрибута и как его удалить? Заранее спасибо! Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 30 жовтня 2016 Share Опубліковано: 30 жовтня 2016 ЗАйти в катлог, атрибуты, найти свой атрибут, в ссылке указан его id attribute_id Надіслати Поділитися на інших сайтах More sharing options... 3 years later... olegchernov Опубліковано: 14 вересня 2020 Share Опубліковано: 14 вересня 2020 В 04.04.2014 в 15:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Прошу прощения, можете уточнить где это вводить? Надіслати Поділитися на інших сайтах More sharing options... 11 months later... Danishevskiy Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 В 04.04.2014 в 16:39, dst сказал: Всё разобрался. Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Надіслати Поділитися на інших сайтах More sharing options... WarStyle Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 3 часа назад, Danishevskiy сказал: Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Заходим в админку сайта, далее Каталог - Характеристики - Характеристики, выбираем нужный атрибут и редактируем. В адресной строке есть айди атрибута: http://joxi.ru/vAWnevYH3kPq12 Когда имеем айди, делаем запрос в базу данных как описано выше. В 04.04.2014 в 14:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Перед всеми действиями в базе данных рекомендую сделать бекап базы данных! 2 Надіслати Поділитися на інших сайтах More sharing options... Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання [Решено] Как удалить атрибут, если он присвоен товару? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 вы можете определить id атрибута? Да. Я имел ввиду, если без команд через панель myadmin, просто выгрузить через сам ocStoree и перезалить. там точно ничего не накроется? Надіслати Поділитися на інших сайтах More sharing options...
dst Опубліковано: 4 квітня 2014 Share Опубліковано: 4 квітня 2014 Всё разобрался. Надіслати Поділитися на інших сайтах More sharing options...
davaiigrat Опубліковано: 29 жовтня 2016 Share Опубліковано: 29 жовтня 2016 Добрый вечер! Очень надеюсь на помощь! Можете более подробно написать, как определить ID атрибута и как его удалить? Заранее спасибо! Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 30 жовтня 2016 Share Опубліковано: 30 жовтня 2016 ЗАйти в катлог, атрибуты, найти свой атрибут, в ссылке указан его id attribute_id Надіслати Поділитися на інших сайтах More sharing options... 3 years later... olegchernov Опубліковано: 14 вересня 2020 Share Опубліковано: 14 вересня 2020 В 04.04.2014 в 15:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Прошу прощения, можете уточнить где это вводить? Надіслати Поділитися на інших сайтах More sharing options... 11 months later... Danishevskiy Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 В 04.04.2014 в 16:39, dst сказал: Всё разобрался. Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Надіслати Поділитися на інших сайтах More sharing options... WarStyle Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 3 часа назад, Danishevskiy сказал: Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Заходим в админку сайта, далее Каталог - Характеристики - Характеристики, выбираем нужный атрибут и редактируем. В адресной строке есть айди атрибута: http://joxi.ru/vAWnevYH3kPq12 Когда имеем айди, делаем запрос в базу данных как описано выше. В 04.04.2014 в 14:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Перед всеми действиями в базе данных рекомендую сделать бекап базы данных! 2 Надіслати Поділитися на інших сайтах More sharing options... Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання [Решено] Как удалить атрибут, если он присвоен товару? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
olegchernov Опубліковано: 14 вересня 2020 Share Опубліковано: 14 вересня 2020 В 04.04.2014 в 15:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Прошу прощения, можете уточнить где это вводить? Надіслати Поділитися на інших сайтах More sharing options...
Danishevskiy Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 В 04.04.2014 в 16:39, dst сказал: Всё разобрался. Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Надіслати Поділитися на інших сайтах More sharing options...
WarStyle Опубліковано: 30 серпня 2021 Share Опубліковано: 30 серпня 2021 3 часа назад, Danishevskiy сказал: Если и правда разобрались поделитесь опытом, тоже очень нужно определить товары с ненужным атрибутом и во всех его удалить Заходим в админку сайта, далее Каталог - Характеристики - Характеристики, выбираем нужный атрибут и редактируем. В адресной строке есть айди атрибута: http://joxi.ru/vAWnevYH3kPq12 Когда имеем айди, делаем запрос в базу данных как описано выше. В 04.04.2014 в 14:50, chukcha сказал: определяем id атрибута SELECT * FROM `oc_product_attribute` where `attribute_id`= Если совсем не нужен, то DELETE FROM `oc_product_attribute` where `attribute_id`= И удаляем атрибут из админки Перед всеми действиями в базе данных рекомендую сделать бекап базы данных! 2 Надіслати Поділитися на інших сайтах More sharing options... Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання [Решено] Как удалить атрибут, если он присвоен товару?
Danishevskiy Опубліковано: 31 серпня 2021 Share Опубліковано: 31 серпня 2021 Огромное спасибо. Разобрался. Кому будет непонятно пишите в ЛС, расскажу что называется "на пальцах" Надіслати Поділитися на інших сайтах More sharing options...
vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 (змінено) Почему нельзя сразу удалить Атрибут/ы в даминке? - а всё потому, что перед удалением идет проверка на наличие Атрибутов у Товаров в файле - admin/controller/catalog/attribute.php Метод - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } $this->load->model('catalog/product'); //здесь проверка foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } обойти это просто (чтоб не использовать выше предложенные решения, которые для Новачка возможно будут сложными, да и по времени затратные). Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - protected function validateDelete() { if (!$this->user->hasPermission('modify', 'catalog/attribute')) { $this->error['warning'] = $this->language->get('error_permission'); } //fix решение return !$this->error; $this->load->model('catalog/product'); foreach ($this->request->post['selected'] as $attribute_id) { $product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id); if ($product_total) { $this->error['warning'] = sprintf($this->language->get('error_product'), $product_total); } } return !$this->error; } и удалить в таблице `product_attribute` (если будут данные атрибуты) в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } можно и модификатором (для Opencart 2.x.x и 3.0.x) сам код модификатора - <?xml version="1.0" encoding="utf-8"?> <modification> <name><![CDATA[FIX delAttribute for Opencart 2.x.x - 3.0.x]]></name> <code>delattribute</code> <version>1.0</version> <author>Vier</author> <link>#</link> <file path="admin/controller/catalog/attribute.php"> <operation> <search><![CDATA[function validateDelete()]]></search> <add position="after" offset="4"><![CDATA[ /*fix_delattribute*/ return !$this->error; /*end fix_delattribute*/ ]]></add> </operation> </file> <file path="admin/model/catalog/attribute.php"> <operation> <search><![CDATA[function deleteAttribute($attribute_id]]></search> <add position="after" offset="2"><![CDATA[ /*fix_delattribute*/ $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); /*end fix_delattribute*/ ]]></add> </operation> </file> </modification> сам модификатор для Opencart 2.x.x - fix_del_attribute.ocmod.xml для Opencart 3.0.x (если устанавливать через админку.) - fix_del_attribute_3.ocmod.zip ( А если записать в папку /system/, то можно использовать для Opencart 2.x.x ) потом же не забыть обновить модификаторы в админке! (если не нарушены методы validateDelete() и deleteAttribute($attribute_id), то модификатор станет без проблем, а иначе возможно надо будет подогнать код) так же в целях случайного НЕ удаления, используйте модификатор временно. Змінено 1 вересня 2021 користувачем vier не дописал пост (отвлекли) 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації [Поддержка] Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 7 відповідей 9 222 перегляди malinator 5 лютого 2021 Attribute Category - Атрибуты категории Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр категория 0 коментарів 18 360 переглядів sv2109 21 січня 2016 Attribute Select - Атрибуты списком Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 0 коментарів 15 817 переглядів sv2109 21 січня 2016 [Поддержка] Attribute Select - Атрибуты списком 1 2 Автор: sv2109, 21 січня 2016 атрибут атрибуты (і ще %d) Теги: атрибут атрибуты attribute фильтр 38 відповідей 12 002 перегляди nogocuHoBuk 25 вересня 2023 [Поддержка] Поиск атрибутов в админ панеле Автор: eleo, 27 жовтня 2017 атрибут поиск атрибутов (і ще %d) Теги: атрибут поиск атрибутов искать атрибут атрибут админка 3 відповіді 2 506 переглядів eleo 14 грудня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Shureg Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 2 часа назад, vier сказал: Решение - закончить проверку в данном Методе раньше до проверки на наличие Атрибутов в Товарах - Вы это серьезно? Ваше "решение" - даже не эталон говнокода, это его апофеоз... А чего просто не предложили в БД удалить без всяких проверок? Подумаешь, потом будут ошибки во всех товарах, где этот атрибут был, зачем нам лишние проверки. 1 Надіслати Поділитися на інших сайтах More sharing options...
vier Опубліковано: 1 вересня 2021 Share Опубліковано: 1 вересня 2021 4 часа назад, vier сказал: в файле admin/model/catalog/attribute.php Метод - public function deleteAttribute($attribute_id) { //fix del_control $this->db->query("DELETE FROM `".DB_PREFIX."product_attribute` WHERE `attribute_id` = ".(int)$attribute_id); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute WHERE attribute_id = '" . (int)$attribute_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "attribute_description WHERE attribute_id = '" . (int)$attribute_id . "'"); } странно, почему изначально в Opencart для контроля нет данного удаления атрибутов в таблице `product_attribute` Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
Recommended Posts