Solution AlexDW Posted May 30, 2022 at 03:09 PM Solution Share Posted May 30, 2022 at 03:09 PM 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 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
Nickson Posted June 4, 2022 at 01:35 PM Share Posted June 4, 2022 at 01:35 PM Доброго дня! У меня на сборке OpenCart Русская-Сборка, мод работает не корректно. После удаления ненужного модуля, удаляет файл header.twig находящийся по пути admin/view/template/common/header.twig в чем причина не знаю. При удалении штатными средствами такого не происходит. Проверить на иных дистрибах пока не могу. Opencart 3.0.3.8-rs2 (Русская Сборка) PHP 7.3.* 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted June 4, 2022 at 05:16 PM Author Share Posted June 4, 2022 at 05:16 PM Здравствуйте модуль здесь ни при чем и вот почему: 1. встроенный в Opencart 3x деинсталлятор для удаления файлов дополнений берет данные из таблицы oc_extension_path 2. данные о файлах попадают в эту таблицу при установке дополнения только когда файл/папка есть в архиве и при этом его еще нет в каталоге движка файл admin/view/template/common/header.twig является штатным файлом движка и его отсутствие сразу бы привело к неработоспособности админки соответственно, искать проблему нужно в других используемых дополнениях / правках кода движка или БД тем более что данный патч НЕ удаляет файлы, а наоборот - проверяет их на уникальность и ЗАПРЕЩАЕТ удаление, если файл/папка используются еще каким-то другим дополнением кроме удаляемого 2 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
timagz Posted February 25, 2023 at 05:29 PM Share Posted February 25, 2023 at 05:29 PM Это еще актуально для Ocstore 3037? 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted February 25, 2023 at 05:32 PM Author Share Posted February 25, 2023 at 05:32 PM да В 30.05.2022 в 20:09, AlexDW сказал: актуален для движков ocStore / Opencart версий 3000-303x 0 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
Леонид Posted February 26, 2023 at 06:42 AM Share Posted February 26, 2023 at 06:42 AM я поставил данное дополнение на 2 сайта, на 3.03.2 и 3.03.8 , сказать что я кучу дополнений поставил и потом ради интереса удалял нет, парочку старых ненужных удалил с первого и один с нового сайта, все вроде ок, ничего не слетает, все вроде работает. раньше при удалении бывало сайт падал из-за ошибки, надеюсь с этим дополнением больше таких проблем не будет, автору спасибо! 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.