В Joomla 2.5 бывает такое — установили крутой-прекрутой, нужный-пренужный модуль. Настроили, опубликовали, обновляем страницу, вроде все хорошо. Переходим по любой ссылке и ХОЛП:
Fatal error: Class ‘JModel’ not found in /www/site/modules/mod_supermodule/libs/source/content/source.php on line 15
ну, это приблизительно. Вся соль в этом: Class ‘JModel’ not found — это значит, что Джумла не смогла найти класс JModel.
Теперь, идем в папку с модулем (пусть это будет /modules/mod_supermodule) и в файле helper.php ищем строку:
defined('_JEXEC') or die;
она в самом начале файла после комментариев должна быть и после нее добавляем:
jimport("joomla.application.component.model");
Сохраняем и обновляем страницу с ошибкой. Теперь сайт снова работает.
Спасибо! Помогло! Не мерно благодарен!
Пожалуйста )) Наслаждайтесь 🙂
А если в самом модуле на который пишет ошибку не содержит файла helper.php?
Даже более скажу, эта строчка по умолчанию есть в файле adsmanager.php но судя из ошибки она не помогает.
Fatal error: Class ‘JError’ not found in … includes/framework.php on line 42
есть в этом файле строка defined(‘_JEXEC’) or die;
после нее вставляю jimport(«joomla.application.component.model»);
сохраняю и обновляю и получаю:
Fatal error: Call to undefined function jimport() … includes/framework.php on line 11 :(((
Помогите
Функция jimport определяется в libraries/loader.php, может быть, этот файл отустствует? Если его нет — попробуйте положить на место его из дистрибутива вашей версии джумлы.
Если не поможет — попробуйте обновить джумлу…
Как вариант, добавьте в начале это:
include(JPATH_BASE.’libraries/loader.php’)
или замените существующую строчку, которая подключает loader.php на нее.
файл libraries/loader.php был. джумла обновлена. Не понял только куда прописывать include(JPATH_BASE.’libraries/loader.php’). Может быть это из-за того что сервер PHP не очень свежей версии на хостинге?
Проблема решилась! В папке с сайтом не хватало файлов! Перезалил.
Спасибо за решение 🙂 Редко кто отписывает решение, которое сам нашел.