Решение AlexDW Опубликовано 30.05.2022 в 15:09 Решение Поделиться Опубликовано 30.05.2022 в 15:09 Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x Добавил AlexDW Добавлено 30.05.2022 Категория Администрирование , Прочие Решения Просмотр файла В Opencart 3x сделано удобное удаление установленных дополнений через встроенный деинсталлятор. Удаление дополнения происходит в один клик и пользователям теперь не нужно вычищать его файлы вручную. При создании дополнений многие авторы используют отдельные папки, общие для файлов своих дополнений (например для своих библиотек в system/library, скриптов в catalog/view/javascript и тд) или используют универсальные файлы, содержащиеся в каждом их дополнении. Проблема в том, что при удалении через деинсталлятор совершенно не учитывается уникальность файлов и папок дополнений. И если происходит удаление дополнения, содержащего какие-либо общие файлы и/или папки с другими имеющимися дополнениями - такие файлы и папки будут удалены, что может привести к неработоспособности других дополнений. Баги деинсталлятора в Opencart 3x:1. Если ряд дополнений использует свою собственную общую папку, которой нет в движке по умолчанию - такая папка создается при установке первого дополнения и привязывается к нему в таблице oc_extension_path в момент создания. При этом, при установке последующих дополнений, использующих данную папку - привязки не происходит, так как папка уже естьНо при удалении именно того дополнения, к которому произошла привязка папки - ПАПКА БУДЕТ УДАЛЕНА СО ВСЕМ СОДЕРЖИМЫМ, т.е. фактически со всеми другими файлами, которые могут не иметь отношения к удаляемому дополнению, и использовать эту общую папку для хранения своих файлов.2. Если в ряде дополнений используются какие-либо общие файлы (например универсальные вспомогательные классы, библиотеки и тд) - удаление такого дополнения через деинсталлятор приведет к удалению этих общих файлов Хорошо если пользователь переустанавливает или ставит новую версию дополнения, содержащую эти же файлы - тогда они просто будут добавлены заново. В случае же, если дополнение просто удаляется за ненадобностью или в его новой версии уже нет таких файлов - их отсутствие просто приведет к неработоспособности всех использующих их модулей.Данный патч устраняет эти проблемы после его применения при удалении дополнений через штатный деинсталлятор будет учитываться уникальность использования удаляемых файлов/папок другими имеющимися дополнениями актуален для движков ocStore / Opencart версий 3000-303x 1 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
Nickson Опубликовано 4.06.2022 в 13:35 Поделиться Опубликовано 4.06.2022 в 13:35 Доброго дня! У меня на сборке OpenCart Русская-Сборка, мод работает не корректно. После удаления ненужного модуля, удаляет файл header.twig находящийся по пути admin/view/template/common/header.twig в чем причина не знаю. При удалении штатными средствами такого не происходит. Проверить на иных дистрибах пока не могу. Opencart 3.0.3.8-rs2 (Русская Сборка) PHP 7.3.* 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 4.06.2022 в 17:16 Автор Поделиться Опубликовано 4.06.2022 в 17:16 Здравствуйте модуль здесь ни при чем и вот почему: 1. встроенный в Opencart 3x деинсталлятор для удаления файлов дополнений берет данные из таблицы oc_extension_path 2. данные о файлах попадают в эту таблицу при установке дополнения только когда файл/папка есть в архиве и при этом его еще нет в каталоге движка файл admin/view/template/common/header.twig является штатным файлом движка и его отсутствие сразу бы привело к неработоспособности админки соответственно, искать проблему нужно в других используемых дополнениях / правках кода движка или БД тем более что данный патч НЕ удаляет файлы, а наоборот - проверяет их на уникальность и ЗАПРЕЩАЕТ удаление, если файл/папка используются еще каким-то другим дополнением кроме удаляемого 2 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
timagz Опубликовано 25.02.2023 в 17:29 Поделиться Опубликовано 25.02.2023 в 17:29 Это еще актуально для Ocstore 3037? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 25.02.2023 в 17:32 Автор Поделиться Опубликовано 25.02.2023 в 17:32 да В 30.05.2022 в 20:09, AlexDW сказал: актуален для движков ocStore / Opencart версий 3000-303x 0 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
Леонид Опубликовано 26.02.2023 в 06:42 Поделиться Опубликовано 26.02.2023 в 06:42 я поставил данное дополнение на 2 сайта, на 3.03.2 и 3.03.8 , сказать что я кучу дополнений поставил и потом ради интереса удалял нет, парочку старых ненужных удалил с первого и один с нового сайта, все вроде ок, ничего не слетает, все вроде работает. раньше при удалении бывало сайт падал из-за ошибки, надеюсь с этим дополнением больше таких проблем не будет, автору спасибо! 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.