Якщо при установці модуля або модифікації на OpenCart виникає помилка "Fatal error: Cannot redeclare...", це означає, що функція або клас у PHP з таким самим ім'ям вже існує. Щоб виправити цю проблему, потрібно залишити лише одну функцію або клас із таким ім'ям. Для цього необхідно знайти проблемний файл (найчастіше це контролер або модель, які були модифіковані за допомогою ocmod), вказаний у помилці, та перевірити, чи є в ньому функції чи класи з однаковими іменами.
Якщо функції або класи повністю дублюються, потрібно видалити одну з них. Якщо ж вони різні, потрібно перейменувати одну з функцій або класів і виправити всі посилання на неї.
Наприклад, якщо ви отримуєте помилку " Fatal error: Cannot redeclare ModelCatalogProduct::delete_image() в /home/public_html/system/storage/modification/admin/model/catalog/product.php ", вам потрібно відкрити файл /home/public_html/ system/storage/modification/admin/model/catalog/product.php і знайти дві функції під назвою " delete_image ". Потім потрібно визначити, чи вони однакові, чи різні, і знайти в якому модифікаторі додається дублююча функція. Далі потрібно видалити цю операцію з модифікатора, якщо функції були однакові, або перейменувати одну з них і виправити ланцюжок звернень до неї в модулі, якщо вони різні.
Якщо така помилка виникає в папці system/modification/ або в system/storage/modification/, потрібно знайти модифікатор модуля (файл з розширенням *.ocmod.xml або файл install.xml), в якому додається дублююча функція, видалити старий модифікатор в адмінці та встановити новий, відредагований.














































Коментарі