Как перенести joomla на другой телефон
Перейти к содержимому

Как перенести joomla на другой телефон

  • автор:

Перенос Joomla — пошаговая инструкция

Перенос Joomla

Иногда возникает вопрос «Как перенести сайт на другой хостинг». Для разных типов сайтов, это процедура практический одинаковая. В этой статье пойдет речь от том как это сделать, если сайт работает на Joomla. И так — как перенести Joomla?

Для того, чтобы перенести сайт работающий на Joomla требуется закачать файлы сайта и импортировать дамп базы данных на хостинг.

Первое — загрузка файлов сайта на хостинг

Для того, чтобы закачать файлы сайта необходимо запустить FTP клиент и открыть в нем «Менеджер сайтов»:

Менеджер сайтов

Нажать на кнопку «Новый сайт», после чего задать имя новому подключению, в поле «Хост» указать адрес FTP сервера, в поле «Тип входа» выбрать «Запросить пароль», в поле «Пользователь» указать FTP аккаунт и перейти на вкладку «Настройки передачи».

Новый сайт - FileZilla

Выбрать пассивный режим и нажать на кнопку «Соединиться».

Соединение с FTP сервером - FileZilla

В открывшемся окне указать в поле «Пароль» пароль FTP аккаунта и нажать на кнопку «Ок».

Вводе пароля в FileZilla

Зайти в папку www

Папка www

Зайти в папку с названием доменного имени:

Папка с вашим доменом

Удаления файла заглушки

Удалить файл index.html , являющийся заглушкой, отображаемой при входе на сайт.
Для этого необходимо выбрать файл index.html правой клавишей мыши и нажать на пункт «Удалить»:

Закачать файлы сайта в папку с названием доменного имени.
Для этого необходимо выделить файлы сайта, нажать правую кнопку мыши и выбрать пункт «Закачать на сервер»:

Закачка файлов на сервер

На этом процедура закачки файлов сайта завершена:

Завершение загрузки файлов на сервер

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

Второе — База Данных Joomla

Для того, чтобы создать базу данных, необходимо в разделе «Инструменты» нажать на пункт «Базы данных» и нажать на кнопку «Создать», находящуюся в верхней правой части панели:

Cоздать базу данных

В открывшемся окне указать в строке «Имя базы» уникальное имя базы данных, указать в строке «Новый пользователь» уникальное название пользователя базы данных, указать в строке «Пароль» и «Подтверждение» пароль для базы данных, нажать на кнопку «Ок»:

Параметры БД Joomla

Для того, чтобы импортировать дамп базы данных, необходимо в разделе «Доп. приложения» нажать на пункт «PhpMyAdmin»:

Импорт БД

В открывшемся окне указать имя пользователя базы данных и пароль от базы данных, которые были указаны при создании базы данных:

Вход в БД

В открывшемся окне выбрать базу данных, указанную при создании базы данных:

Выбор БД

Нажать на кнопку «Импорт»:

Импорт Базы Данных

Нажать на кнопку «Обзор» и выбрать необходимую базу данных:

Обзор БД

Нажать на кнопку «Ок»

Успешное импортирование БД

На этом процедура закачки файлов сайта на joomla и импорт базы данных завершен.

Советуем прочитать:

  • Основные команды MySQL?
  • Простая SEO оптимизация сайта на Joomla
  • Восстановление файлов и баз данных в cPanel при…
  • Простая SEO оптимизация сайта на OpenCart
  • Инструкция по оптимизации MySQL запросов

Перенос сайта с Joomla

Перенесем сайт с Joomla на современную систему управления сайтом.

От 30 000 рублей

  1. Главная
  2. Услуги
  3. Поддержка сайтов
  4. Перенос на новую CMS
  5. Перенос сайта с Joomla

Что мы предлагаем?

«Джумла» — отличное решение для тех, кому нужно сделать простой сайт и у кого нет опыта веб-разработки. Работа с этой CMS (системой управления) упрощается ещё и потому, что в Интернете много форумов, где вам предложат помощь почти по любой проблеме. Однако перенос сайта на Joomla на хостинг нового провайдера может оказаться сложным для новичка, а порой – даже для уверенного пользователя «Джумлы». Давайте узнаем, как это делают профессионалы.

Что вы получите?
Наши специалисты перенесут сайт с Joomla без потери данных и позиций в поисковой выдаче.

Подготовка

Выбор нового хостинга, тарифа, добавление доменного имени.

Архивация

Создание архива старого сайта, всех файлов и базы данных.

Перенос

Создание новой базы данных, перенос в нее данных из старой базы.

DNS-серверов

Изменение настроек и адресов DNS-серверов.

Тестирование

После индексации – проверка работоспособности сайта.

Работаем с любыми CMS
Перенос на 1С Bitrix
Коммерческая система управления для крупных сайтов.
Перенос на Drupal
Для сайтов, требующих высокую производительность.
Перенос на WordPress
Наиболее распространенная система управления, подходящая под все типы сайтов.
Перенос на Opencart
Бюджетное и удобное решение для интернет-магазинов.
Закажите бесплатную консультацию
Наш консультант подробно расскажет о тарифах и работах

Наша команда

Наши сотрудники — опытные специалисты с опытом работы от 5 лет. Они знают все нюансы и тонкости переноса сайтов на различные CMS и умеют добиваться нужного результата.

Юлия Шипикина
Генеральный директор
Денис Богачёв
Ведущий программист
Денис Степанюк
Ведущий программист
Алексей Шабатура
Менеджер по созданию сайтов
С нами удобно!

Оперативность
24/7

Высокая скорость реакции на обращение по вопросам техподдержки.

Прозрачность
отчетов

Предоставляем все отчеты по выполненной работе с указанием всех этапов работы.

Соблюдение
сроков

Выполняем работы строго в соответствии с календарным планом.

Работа
по договору

Все официально. Подготовим весь пакет бухгалтерских документов.

Перенос сайта Joomla на другой хостинг

После выполнения подготовительных процедур (выбор тарифа, получение FTP-доступов, добавление домена в настройках панели управления) вам в первую очередь понадобится заархивировать файлы на старом сервере. Некоторые просто копируют все папки на компьютер и переносят их затем на новое место, однако такой способ неудобен для больших проектов, так как это затратно по времени. Преимущество работы с архивами заключается ещё и в том, что, помимо экономии места и времени, появляется возможность использовать удобные программы. Это, например, FileZilla или Total Commander, при помощи которых можно быстро заархивировать файлы и затем развернуть их на новом месте.

Теперь выполняем перенос базы данных, которую предварительно ещё нужно создать. Делается это с использованием другой специальной программы, которая называется phpMyAdmin. Точнее говоря, это денвер, целый пакет программ, содержащий все необходимые инструменты для веб-разработчиков и сотрудников компаний, занимающихся сетевой поддержкой. Можно и не пользоваться phpMyAdmin и создать базу данных при помощи инструментов вашего локального хостинга — принципиальной разницы между этими способами нет, каждый делает, как ему удобнее. Только перед созданием БД не забудьте избавиться от временных файлов и почистить кэш, удалив содержимое папок (но не сами папки!) tmp и cache — этот мусор переносить не надо. Далее создаём пустую БД на новом месте с указанием имён и паролей, после чего переносим на подготовленное место старую базу данных. Чтобы это сделать, выберите в панели управления «Загрузить резервную копию» и укажите путь к архиву с вашей БД.

Следующий этап — изменение настроек в конфигурационном файле, который носит имя configuration.php. Скачайте и откройте его, например, блокнотом и пропишите там имя пользователя, пароль и имя базы данных в соответствующих строчках (по умолчанию эти значения там пустые). Теперь поместите этот файл в корневую папку на сервере. Но это ещё не всё: осталось зайти в панель управления на портале вашего регистратора доменного имени и поменять там адреса DNS-серверов на те, которые указал новый хостинг-провайдер при заключении договора. После этого через некоторое время (после индексации) можно приступать к проверке работоспособности вашего ресурса на новом месте.

Сколько стоит перенос сайта Joomla на хостинг?

Как видите, перенос Joomla не представляет особых сложностей, но это касается только простых по структуре ресурсов. Если же у вас много модулей (да ещё и написанных самостоятельно сторонними разработчиками), процесс усложняется. Но в этом случае вам на помощь придём мы. Стоимость «переезда» будет зависеть от размера сайта, а также дополнительных услуг, если они понадобятся.

Это, например, правка файлов, которая выполняется при смене доменного имени. Обычно простых изменений в configuration.php здесь недостаточно, поскольку потребуется изменять доменное имя также и в файлах модулей (расширений), иначе все запросы к базе данных могут отправляться по старому адресу, что приведёт к сбоям в работе. Также мы решаем проблемы, связанные с большими размерами дампов БД и длительным импортом (обычно они возникают из-за ограничений, вводимых хостинг-провайдерами).

Как перенести сайт на Joomla на другой хостинг

Сайт, написанный на Joomla, состоит из файлов в формате PHP, файлов контента (изображения и другая информация) и базы данных (БД) в формате SQL. Чтобы самостоятельно перенести его на другой хостинг, недостаточно просто разместить файлы сайта на услуге нового хостинг-провайдера. Перенос сайта на Joomla на другой хостинг — сложная процедура, которая потребует от вас определенного багажа знаний и опыта в сфере разработки или веб-администрирования. В данной инструкции подробно описывается, как перенести сайт Joomla на хостинг Рег.ру, а также помогает устранить ошибки, которые могут возникнуть при самостоятельном переносе.

Чтобы избежать проблем при переносе на серверы Рег.ру, вы можете бесплатно воспользоваться помощью наших специалистов: Как перенести сайт на хостинг Рег.ру.

Инструкция по переносу сайта на Joomla на хостинг Рег.ру

Определите, в какой папке находятся файлы вашего сайта. Например, в панели управления ispmanager корневая директория указана в разделе Сайты: Как узнать корневую директорию сайта в ispmanager 6Если вы переносите файлы вашего сайта с локального сервера на хостинг, корневую директорию можно посмотреть в конфигурации сервера. Вне зависимости от их месторасположения, перечень файлов CMS Joomla выглядит следующим образом: Файлы Joomla

Если ваш сайт и база данных размещены на хостинге, заархивируйте папку с файлами сайта и скачайте полученный архив на локальный компьютер. Проконсультироваться по вопросу создания архива с файлами сайта и дампа базы данных вы можете в технической поддержке вашего хостинг-провайдера.

Узнайте, какую базу данных (БД) использует ваш сайт. Для этого перейдите в корневой каталог сайта и в файле configuration.php найдите строки:

public $host = 'localhost'; public $user = 'joomla_user'; public $password = 'password'; public $db = 'joomla_db';
  • joomla_db — база данных, которую использует сайт;
  • joomla_user — пользователь, от имени которого сайт подключается к базе данных;
  • password — пароль для подключения к базе данных.

как перенести сайт на joomla на другой хостинг 3

Перейдите в phpmyadmin. Используйте для входа имя и пароль пользователя базы данных. Кликните по названию БД:

как перенести сайт на joomla на другой хостинг 4

Перейдите во вкладку Экспорт, выберите формат SQL и нажмите ОК:

Дальнейшие действия выполняются на новой услуге хостинга, на которую вы хотите перенести ваш сайт. Если вы еще не заказали хостинг Рег.ру, воспользуйтесь инструкцией. Далее войдите в панель управления нового хостинга.

Добавить домен в ispmanager 6

Определите, в какую папку загрузить файлы вашего сайта. Корневая папка создается автоматически при добавлении домена в панель управления хостингом. Если вы уже добавили доменное имя, перейдите к шагу 9. Рассмотрим процесс добавления домена в панели управления ispmanager. Перейдите в раздел Управление DNS и нажмите Создать домен:

Параметры нового сайта в ispmanager 6

Введите Доменное имя, выберите из раскрывающегося списка IP-адрес, поставьте галочку в графе Создать сайт и Создать почтовый домен, если вы планируете пользоваться почтой на хостинге. Нажмите ОК:

Закачайте архив в корневую папку домена по инструкции: шаг 1-5.

Создать базу данных в ispmanager 6

Теперь перейдем к импорту базы данных. Для этого понадобится новая база данных и уже созданный дамп старой БД. В разделе Базы данных нажмите Создать базу данных:

Параметры новой базы данных в ispmanager 6

На открывшейся странице Новая база данных укажите Имя (при этом к нему автоматически добавляется префикс вашего логина хостинга вида u1234567) и Имя пользователя. Скопируйте пароль, указанный в конфигурационном файле сайта ( шаг 3 ), или сгенерируйте новый Пароль. Затем нажмите Ок:

как перенести сайт на joomla на другой хостинг 9

Перейдите в phpMyAdmin на новой услуге хостинга и выберите базу данных, в которую будет импортирован дамп (резервная копия БД):

как перенести сайт на joomla на другой хостинг 10

Перейдите во вкладку Импорт, нажмите кнопку Выберите файл и загрузите файл с компьютера. Нажмите ОК внизу страницы:

Измените название БД, пользователя и пароль в конфигурационном файле сайта configuration.php (см. шаг 3).

В файле configuration.php найдите строки:

public $log_path = ‘/var/www/example.com/logs’; public $tmp_path = ‘/var/www/example.com/tmp’;

Замените значение /var/www/example.com/ согласно вашим данным: Как узнать корневую папку сайта.

Очистить папку cache в ispmanager 6

Если у вас настроено кэширование, перейдите в Менеджер файлов и очистите папку cache:

Проверьте работоспособность сайта с помощью файла hosts. Прежде чем открыть сайт в браузере, очистите кэш.

Частые ошибки после переноса Joomla на другой хостинг

Ошибка 500. Internal Server Error (внутренняя ошибка сервера)

Причины: неверно указаны данные для подключения к базе данных в configuration.php.

Решение: проверьте атрибуты доступа к базе данных. В файле configuration.php найдите строки:

public $host = 'localhost'; public $user = 'joomla_user'; public $password = 'password'; public $db = 'joomla_db';
  • joomla_db — база данных, которую использует сайт;
  • joomla_user — пользователь, от имени которого сайт подключается к базе данных;
  • password — пароль для подключения к базе данных.

В переменной $host должно быть указано localhost или 127.0.0.1

Если все данные верны, проверьте, нет ли лишних символов или пробелов.

Посмотреть и изменить пароль базы данных можно по инструкции.

Если вы указали корректные данные для подключения к базе данных, но ошибка не пропала, чтобы выяснить точную причину ее возникновения, в файле configuration.php найдите строку:

public $error_reporting = 'default';

Измените значение default (установлено по умолчанию) на maximum и обновите страницу.

После обновления на экране появится полное описание возникшей ошибки. Чтобы получить помощь в ее решении, обратитесь в службу технической поддержки.

Ошибка 403. Forbidden. You don’t have permission to access / on this server (в доступе на страницу отказано)

как перенести сайт на joomla на другой хостинг 12

Причина: корневая папка сайта отсутствует, в ней нет файлов или назначены некорректные права доступа к ней.

Решение: проверьте наличие файлов сайта, а также корректность прав на папки и файлы сайта. В большинстве случаев права выглядят так:

  • на файлы сайта: «644» или «rw-r-r»;
  • на папки: «755» или «rwxr-xr-x».

Если права на файлы и папки отличаются от указанных, измените их по инструкции.

Самостоятельный перенос сайта Joomla на другой хостинг — довольно сложный и длительный процесс. Если у вас возникли проблемы или вопросы при переносе, обратитесь в техническую поддержку.

Помогла ли вам статья?

Спасибо за оценку. Рады помочь ��

Перенос сайта с Joomla 3 на Joomla 4

День X настал и в административной панели Joomla появилось сообщение о том, что поддержка Joomla 3 прекращается. Есть тысяча причин задуматься о переходе на новую версию. И имя ей — Joomla 4. К моменту написания этих строчек я уже перенес несколько сайтов и хочу поделиться своими мыслями о том, как происходила данная операция, какие подводные камни ждут на пути обновления движка вашего сайта.

Если к моменту перехода на Joomla 4 вы исправно обновляли движок своего сайта, который по научному называется системой управления контентом (CMS), то база данных вашего сайта находится в необходимом для обновления состояния. И это хорошая новость.

Ибо знал я те времена, когда при переходе с одной версии на другую для переноса данных приходилось использовать сторонние компоненты.

На этом хорошие новости заканчиваются.

Все последующие препятствия, загадки и всевозможные квесты будут связаны со скриптами. И это неудивительно. В Joomla 4 серьезно переработано сердце системы, удалены либо переименованы некоторые классы и методы.

Поэтому при попытке открыть компонент, модуль или плагин разработанный под старые версии Joomla вас будет приветствовать сообщение об ошибке.

Мой вердикт таков: если вы не обладаете навыками программирования на PHP, шансы успешно обновить Joomla стремятся к нулю. Ибо весь процесс переноса — это адаптация уже установленных расширений к новой версии.

А теперь минутка рекламы.

Если вы не готовы самостоятельно осуществить процесс миграции c Joomla 3 на Joomla 4 — пишите и звоните. Мой телефон (он же телеграмм и WhatsUP) указан на сайте. Я оказываю данную услугу.

В моем понимании миграция сайта — это:

1) Сохранение дизайна «старой версии» сайта

2) Сохранение функциональности сайта

3) Отсутствие ошибок после обновления сайта, как на его страницах, так и в консоли браузера

Для посетителя сайта процесс обновления должен пройти незаметно, однако администратор получает новую версию Joomla и в качестве приза — возможность регулярного обновления этой системы.

Начало обновления Joomla

В начале непростого пути под названием «Обновление Joomla» хочу сделать объявление!

Если вы планируете производить миграцию на рабочем сайте, немедленно откажитесь от этой идеи!

Для обновления сайта необходимо создать полную копию сайта: и файлы и база данных никак не должны пересекаться с его рабочим вариантом.

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

Итак, мы в административной панели нашего подопытного сайта. Который работает под управлением Joomla 3.

Перед началом обновления, обязательно нужно отключить все сторонние плагины и модули. То есть те плагины и модули, которые не входили в стандартную сборку Joomla.

Особенно внимание нужно уделить системным плагинам и модулям административной панели. Ибо с большой вероятностью они приведут к 500 ошибке на этапе завершения обновления системы и административная панель Joomla будет недоступна.

Операцию по обновлению Joomla мы начинаем в одноименном компоненте.

При открытии страницы компонента «Обновление Joomla» есть большая вероятность того, что вы увидите сообщение о том, что обновления отсутствуют.

Не верьте не единому слову!

Для устранения этого недоразумения в правом верхнем углу нажмем кнопку «Настройки»

Далее в качестве сервера обновлений выбираем «Joomla Next»

Сохраняем настройки и возвращаемся на страницу компонента обновления. Откроется страница, где будет показана актуальная версия для обновления.

Также будет произведен анализ вашей системы и красным цветом подсвечены плагины, которые требуется отключить.

На самом деле… а я писал об этом выше… мы должны выключить все плагины, которые не входят в стандартную сборку Joomla, поэтому подсвеченных красным цветом расширений у нас не будет. А если они вдруг, каким то магическим способом, обнаружились, немедленно отправляемся их отключать.

Заключительный шаг — переход на вкладку «Автоматическое обновление» и нажатие на кнопку «Установить»

Упс… ошибка 500

Достаточно распространенная ситуация, когда обновление завершается страницей с ошибкой. Я не поленился и выложил скриншот такой страницы.

Потому что она красивая.

А еще она не несет никакой информации. И с этим нужно что-то делать.

Из великого администратора Joomla придется переквалифицироваться в не менее великого детектива, потому что все последующие шаги будут состоять из многочисленных расследований происходящего.

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

Для решения первой задачи нам понадобится включить режим отладки. Обычно это делается из административной панели, однако она у нас недоступна.

Поэтому в корневой директории нашего сайта находим файл configuration.php. Для этого понадобится FTP менеджер с возможностью редактирования.

Открываем файл в текстовом редакторе и находим строку:

public $debug = ‘0’;

. меняем значение на 1, чтобы получилось:

public $debug = ‘1’;

Сохраняем файл configuration.php, возвращаемся в административную панель и обновляем страницу с ошибкой.

На этот раз она будет не настолько красочной, как ранее, зато гораздо информативнее. Пример такой страницы привожу ниже, где стрелочками пометил места, которые представляют ценность и важность.

Если вам удалось решить проблему с ошибкой и административная панель стала доступна для полноценной работы (а может, и вовсе не было никакой ошибки), следует провести ревизию установленных сторонних расширений: компонентов, модулей, плагинов и поискать их версии для Joomla 4 на сайтах разработчиков.

Вполне может быть, что все необходимые комплектующие найдутся и это будет очень хорошо, поскольку избавит от самостоятельной переделки и миграции компонентов под Joomla 4.

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

А именно переопределения макетов шаблона, который работал под Joomla 3 и который мы должны переделать под Joomla 4.

Пару слов о том, как переделать шаблон под Joomla 4

Условно шаблоны для Joomla можно поделить на две категории:

1) Те, что созданы на основе фреймворков — дополнительных плагинов, компонентов

2) Те, что созданы без фреймворков

В первом случае нужно немедленно идти на сайт разработчика фреймворка и искать версию для Joomla 4.

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

К слову, я всегда был противником варианта номер один.

С шаблонами созданными стандартными средствами Joomla — проще. Однако, есть нюансы.

В Joomla 4 не отображаются заголовки у модулей

Одним из таких нюансов может быть исчезновение заголовков у модулей после обновления сайта и перехода на Joomla 4.

Как решить эту проблему?

Предлагаю открыть файл index.php нашего шаблона и изучить фрагмент кода, который выводит любой из модулей.

В моем случае код отвечающий за вывод модуля в позиции «HEADER-A» выглядит так:

Обратите внимание на аттрибут STYLE.

Его значение: vmBasic.

Данный параметр говорит системе: отобрази данный модуль с помощью макета «vmBasic».

И если система не находит такой макет, то выводит модуль с помощью макета по умолчания, где заголовок не отображается.

В Joomla 3 макеты определялись в файле, расположенном в каталоге:

/templates/ваш_шаблон/html/modules.php

Где каждому макету соответствовала отдельная функция.

В Jooomla 4 за определение стиля модуля отвечает отдельный файл. Располагаться он должен в каталоге:

templates/ваш_шаблон/html/layouts/chromes/имя стиля.php

Как устроен файл стиля модуля можно посмотреть в предустановленном шаблоне «Cassiopeia», который поставляется с Joomla 4.

Ошибки после обновления

behavior::modal not found или behavior::formvalidation not found.

Достаточно частая ошибка, которая вызывается устаревшими макетами модулей и компонентов. Для ее устранения нужно при включенном режиме отладки выяснить: какой файл ее вызывал, далее найти в файле инструкцию:

JHTML::_ (‘behavior.modal’);

JHtml::_(‘behavior.formvalidation’);

Последнюю неплохо заменить на следующую конструкцию:

use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Factory; $app = Factory::getApplication(); $document = $app->getDocument(); $wa = $document->getWebAssetManager(); $wa->useScript('keepalive') ->useScript('form.validate'); HTMLHelper::_('bootstrap.tooltip');

Она необходима для корректной работы форм, а именно проверки полей на корректность заполнения

К слову, необходимо везде отказываться от класса Jhtml и заменять его классом HTMLHelper. Не забывая его импортировать в начале файла.

Cannot access protected property Joomla\CMS\Menu\MenuItem::$params

Ошибка возникает при обращении к свойству PARAMS, которое в Joomla 4 имеет уровень доступа «protected», что запрещает прямое к нему обращение.

Там, где появляется подобная ошибка команду

$ваша переменная->params->get

Нужно заменить на:

$ваша переменная->getParams()->get

Class ‘JRequest’ not found

От класса Jrequest по хорошему нужно было отказываться еще в Joomla 3. поскольку он в даже в третьей версии считался устаревшим.

В Joomla 4 волевым усилием разработчики вообще его исключили.

Если вы видите в коде нечто вроде:

Jrequest::getVar(‘какая то переменная’)

То перед вызовом метода необходимо получить объект input, в котором хранятся все переменные запросов:

use Joomla\CMS\Factory; $app = Factory::getApplication(); $input = $app->input;

Далее там, где было

Jrequest::какой то метод(какая то переменная)

$input->get('какая то переменная’)

На тему работы с переменными запроса есть хорошая статья. Она написана до выхода Joomla 4, но до сих пор актуальна.

Нюанс лишь в том, что класс JFactory в Joomla 4 заменен на Factory

Class ‘JApplication’ not found

Класс JApplication также был удален, однако наша задача не заменить этот класс целиком, а понять — к каким методам обращался «старый» код из этого класса.

И делаем мы это также из режима отладки.

Как видим, ошибка в файле /administrator/components/com_k2/models/item.php, на 931 строке.

И если мы откроем этот фрагмент кода, то увидим обращение к методу getHash

Выглядит это так:

JApplication::getHash

Данный метод получает хеш, попросту кодирует определенные данные. В Joomla 4 его можно заменить следущей конструкцией:

use Joomla\CMS\Application\ApplicationHelper; ApplicationHelper::getHash($Ваша_переменная);

При миграции компонентов с Joomla 3 на Joomla 4 ошибку связанную с классом JApplication можно встретить и в административной панели.

В частности, в Joomla 3 существовал метод JApplication::stringURLSafe, который использовался при создании алиасов материалов.

В Joomla 4 заменой этому методу станет: ApplicationHelper::stringURLSafe

Заключение

Пишу эти строчки 15 августа 2022 года. Уверен, данный материал будет неоднократно обновляться. Хочется сказать лишь одно: универсального рецепта по переносу сайта с Joomla 3 на Joomla 4 нет. При этом нужно понимать, что портировать на новую версию можно и нужно любой сайт. Независимо от установленных на нем расширений и предыдущих их доработок.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *