Почитать другие заметки или статьи

Я неоднократно говорил: «Перенос сайта с Joomla 3 на Joomla 4 или более старшие версии — это в первую очередь решение типовых задач». Дабы сэкономить в будущем время себе и потомкам, я пишу шпаргалки, каждая из которых помогает решить тот или иной вопрос. Сегодня мы рассмотрим достаточно частую ошибку при миграции сайта на новую версию Joomla.

Итак, вы обнаружили ошибку:

Ошибка Failed opening required '.../components/com_content/helpers/route.php'

Сам текст ошибки в вашем случае будет отличаться от того, что написан у меня, поскольку в вашем случае будет указан полный путь к файлу route.php.

Ищем где

Первое, что мы должны сделать — понять, в каком файле вызывается ошибка.

Для этого в общих настройках сайта необходимо включить режим отладки.

После этого вернемся на ту страницу сайта, где отображалась ошибка.

Мы увидим не только сообщение об ошибке, но и список вызываемых классов, методов и файлов.

Нас интересует последняя запись.

Как видим, в моем случае ошибка произошла на семнадцатой строке файла helper.php модуля mod_news_pro_gk5.

Откроем упомянутый выше файл и посмотрим: что же именно происходит на 17 строке?

А происходит там следующее:

require_once (JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

Вызывается файл, который в Joomla 4 и Joomla 5 находится в другом месте. А по указанному пути совершенно ничего нет, что и приводит к ошибке.

Чтобы устранить ошибку, мы должны заменить данную строчку на две строки:

require_once JPATH_SITE. DIRECTORY_SEPARATOR.'components'
.DIRECTORY_SEPARATOR.'com_content'.DIRECTORY_SEPARATOR.'src'
.DIRECTORY_SEPARATOR.'Helper'.DIRECTORY_SEPARATOR.'RouteHelper.php';

require_once JPATH_SITE. DIRECTORY_SEPARATOR.'components'
. DIRECTORY_SEPARATOR.'com_content'. DIRECTORY_SEPARATOR
.'src'. DIRECTORY_SEPARATOR.'Service'
. DIRECTORY_SEPARATOR.'Router.php';

На этом, собственно говоря, всё.

Ошибка исправлена. Уверен, что вас ждут новые не менее интересные задачки при переезде с Joomla 3.

Если у вас остались вопросы, с нетерпением жду их в своей группе по ссылке ниже:

https://vk.com/sitogon

С уважением, Владимир Егоров