ошибка opencart 2.0.3.1 до 2.3.0.2

Я получил эту ошибку после обновления. Кто-нибудь может мне помочь.

Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Ошибка: может
не загружать модель всего! в
C: \ xampp \ htdocs \ deleteme \ system \ engine \ loader.php: 169 Трассировка стека: # 0
[внутренняя функция]: Loader -> {closure} (Array, Array) # 1
C: \ XAMPP \ HTDOCS \ DeleteMe \ система \ двигатель \ proxy.php (25):
call_user_func_array (Object (Closure), Array) # 2
C: \ XAMPP \ HTDOCS \ DeleteMe \ Каталог \ контроллер \ Common \ cart.php (37):
Прокси -> __ call (‘getTotal’, Array) # 3
C: \ XAMPP \ HTDOCS \ DeleteMe \ Каталог \ контроллер \ Common \ cart.php (37):
Proxy-> getTotal (Array) # 4 [внутренняя функция]:
ControllerCommonCart-> index (Array) # 5
C: \ XAMPP \ HTDOCS \ DeleteMe \ система \ двигатель \ action.php (51):
call_user_func_array (Array, Array) # 6
C: \ XAMPP \ HTDOCS \ DeleteMe \ система \ двигатель \ loader.php (24):
Действие-> выполнить (Объект (Реестр), Массив) # 7
C: \ XAMPP \ HTDOCS \ DeleteMe \ Каталог \ контроллер \ Common \ header.php (129):
Loader-> controller (‘common / cart’) # 8 [внутренняя функция]:
ControllerCommonHeader-> index (Array) # 9
C: \ XAMPP \ HTDOCS \ DeleteMe \ система \ двигатель \ action.php (51):
call_user_func_array (Array, Array) # 10 C: \ xampp \ in
C: \ xampp \ htdocs \ deleteme \ system \ engine \ loader.php в строке 169

1

Решение

О проблеме обновления сообщают об ошибке, и решение объясняется на их форуме, Вот.

Резюме (копировать / вставить для потомства):

Ошибка: ошибка: не удалось загрузить общее количество моделей!

Ошибка из двух частей. Часть первая: совместимость событий обрезает слишком много частей
маршрут при попытке загрузить старый формат расширения. ех.
Маршрут «extension / total / sub_total / getTotal» превращается в
«total / sub_total» вместо «total / sub_total / getTotal». Это вызывает
это попытаться загрузить модель без имени, выбрасывая исключение. Часть
Во-вторых, эта совместимость загружается нормально, когда маршрут
«extension / total / subtotal», но также загружается, когда маршрут
«Расширение / общее / sub_total / getTotal». Я думаю, что это событие не должно быть
вызвано для совместимости, потому что это getTotal является функцией
вызов, а не загрузка модели. Это приводит к сбою проверки и попытке
загрузить версию 2.2.x, в которой отсутствуют другие биты и выбрасывает
разные ошибки. Не понял, почему происходит вызов функции
вниз по пути событий. Но в основном попытка поддержать задом наперед
Совместимость с 2.2 модами вызывает проблемы.

2 решения

ИСПРАВЛЕНИЕ 1. Откажитесь от совместимости с 2.2.x и удалите следующее
оставшиеся папки:

     catalog/model/total
catalog/model/payment
catalog/controller/payment
catalog/model/shipping
catalog/controller/module
admin/controller/total
admin/controller/payment
admin/controller/shipping
admin/controller/module

ИСПРАВЛЕНИЕ 2: Добавить взломать, чтобы обойти событие, когда вызов функции для
«getTotal», «getMethod» или «getQuote» передаются. Это
экспериментальный, но должен по крайней мере восстановить поддержку модов 2.2.x для
сейчас. Это НЕ постоянное исправление. Просто работа вокруг.
РЕДАКТИРОВАТЬ: каталог / контроллер / событие / compatibility.php НАЙТИ:

'model/' . $route. '.php'

ЗАМЕНИТЬ:

'model/' . ((strpos($route,'get') !== false) ? dirname($route) : $route) . '.php'

Это должно позволить маршрутам типа «extension / total / sub_total» работать, но блокировать
вызовы «extension / total / sub_total / getTotal», которые не выполняются в каталоге
проверять.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]