Здравствуйте! Не пинайте меня пожалуйста, если немного ошибся с веткой. Опыта работы с OpenCart у меня не много, до этого работал в основном с Magento, но сейчас возникла необходимость немного допилить функционал сайта на OpenCart 2.3 и столкнулся проблемой, но сначала кратко опишу последовательность действий:
- "Склонировал" себе код на компьютер, как рабочее окружение использую OpenServer.
- Подтянул базу
- Поправил файлы config.php.
Сайт работает, за исключением домашней страницы. Получаю такую ошибку:
Fatal error: Uncaught Error: Call to a member function resize() on null in C:\OpenServer\domains\znahidka.local\catalog\controller\common\home.php:41 Stack trace: #0 C:\OpenServer\domains\znahidka.local\system\engine\action.php(51): ControllerCommonHome->index() #1 C:\OpenServer\domains\znahidka.local\catalog\controller\startup\router.php(25): Action->execute(Object(Registry)) #2 C:\OpenServer\domains\znahidka.local\system\engine\action.php(51): ControllerStartupRouter->index() #3 C:\OpenServer\domains\znahidka.local\system\engine\front.php(34): Action->execute(Object(Registry)) #4 C:\OpenServer\domains\znahidka.local\system\engine\front.php(29): Front->execute(Object(Action)) #5 C:\OpenServer\domains\znahidka.local\system\framework.php(103): Front->dispatch(Object(Action), Object(Action)) #6 C:\OpenServer\domains\znahidka.local\system\startup.php(124): require_once('C:\\OpenServer\\d...') #7 C:\OpenServer\domains\znahidka.local\index.php(19): start('catalog') #8 {main} thrown in C:\OpenServer\domains\znahidka.local\catalog\controller\common\home.php on line 41
Вот та самая 41-ая строка: 'image' => $this->model_tool_image->resize($banner['image'], 158, 158)
Если я эту строку закомментирую, главная страница загружается нормально, но естественно не отображаются баннеры.
Весь код, который отвечает за вывод этих баннеров:
foreach ($facebook as $banner) {
$data['facebook'][] = [
'id' => $banner['banner_image_id'],
'link' => $banner['link'],
'image' => $this->model_tool_image->resize($banner['image'], 158, 158)
];
}
Этот же код без проблем работает на хостинге и никаких ошибок не возникает.
config.php:
<?php
// HTTP
define('HTTP_SERVER', 'http://znahidka.local/');
// HTTPS
define('HTTPS_SERVER', 'http://znahidka.local/');
// DIR
define('DIR_APPLICATION', 'C:/OpenServer/domains/znahidka.local/catalog/');
define('DIR_SYSTEM', 'C:/OpenServer/domains/znahidka.local/system/');
define('DIR_IMAGE', 'C:/OpenServer/domains/znahidka.local/image/');
define('DIR_LANGUAGE', 'C:/OpenServer/domains/znahidka.local/catalog/language/');
define('DIR_TEMPLATE', 'C:/OpenServer/domains/znahidka.local/catalog/view/theme/');
define('DIR_CONFIG', 'C:/OpenServer/domains/znahidka.local/system/config/');
define('DIR_CACHE', 'C:/OpenServer/domains/znahidka.local/system/storage/cache/');
define('DIR_DOWNLOAD', 'C:/OpenServer/domains/znahidka.local/system/storage/download/');
define('DIR_LOGS', 'C:/OpenServer/domains/znahidka.local/system/storage/logs/');
define('DIR_MODIFICATION', 'C:/OpenServer/domains/znahidka.local/system/storage/modification/');
define('DIR_UPLOAD', 'C:/OpenServer/domains/znahidka.local/system/storage/upload/');
// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'mysql');
define('DB_PASSWORD', 'mysql');
define('DB_DATABASE', 'znahidka');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
admin\config.php:
<?php
// HTTP
define('HTTP_SERVER', 'http://znahidka.local/admin/');
define('HTTP_CATALOG', 'http://znahidka.local/');
// HTTPS
define('HTTPS_SERVER', 'http://znahidka.local/admin/');
define('HTTPS_CATALOG', 'http://znahidka.local/');
// DIR
define('DIR_APPLICATION', 'C:/OpenServer/domains/znahidka.local/admin/');
define('DIR_SYSTEM', 'C:/OpenServer/domains/znahidka.local/system/');
define('DIR_IMAGE', 'C:/OpenServer/domains/znahidka.local/image/');
define('DIR_LANGUAGE', 'C:/OpenServer/domains/znahidka.local/admin/language/');
define('DIR_TEMPLATE', 'C:/OpenServer/domains/znahidka.local/admin/view/template/');
define('DIR_CONFIG', 'C:/OpenServer/domains/znahidka.local/system/config/');
define('DIR_CACHE', 'C:/OpenServer/domains/znahidka.local/system/storage/cache/');
define('DIR_DOWNLOAD', 'C:/OpenServer/domains/znahidka.local/system/storage/download/');
define('DIR_LOGS', 'C:/OpenServer/domains/znahidka.local/system/storage/logs/');
define('DIR_MODIFICATION', 'C:/OpenServer/domains/znahidka.local/system/storage/modification/');
define('DIR_UPLOAD', 'C:/OpenServer/domains/znahidka.local/system/storage/upload/');
define('DIR_CATALOG', 'C:/OpenServer/domains/znahidka.local/catalog/');
// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'mysql');
define('DB_PASSWORD', 'mysql');
define('DB_DATABASE', 'znahidka');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
Те решения, которые я находил в сети касались скорее разработки, но у меня этот же код нормально на сервере работает, подозреваю, что проблема в чем-то другом, но не могу понять в чем. Буду благодарен за любую помощь.