Обновление Joomla 1.5 до Joomla 3.3

Обновление Joomla 1.5 до Joomla 3.3

От автора: система управления контентом Joomla была создана уже достаточно давно, все это время она активно развивается. При этом выпускаются все новые версии данного движка и, соответственно, новые версии расширений. На данный момент актуальной версией является Joomla 3.3, но помимо этого встречаются сайты, которые работают на устаревшей версии движка Joomla 1.5. Данная версия довольно хороша и стабильно работает, но при этом она уже давно снята с поддержки, а значит и расширения для этой версии уже не выпускаются. Поэтому в данном уроке мы с Вами научимся обновлять Joomla 1.5 до Joomla 3.3.

автор

Автор: Виктор Гавриленко

Меня зовут Виктор Гавриленко, по образованию я инженер электромеханик. Еще учась в институте, начал увлекаться компьютерными технологиями и программированием, на протяжении двух лет усиленно занимаюсь разработкой интернет сайтов и веб-программированием. Увлекаюсь написанием небольших скриптов на языке PHP, в связке базами данных MySQL, SQLite, неплохо знаю такие движки как WordPress, Drupal, Joomla.

скачать исходникискачать урок

1. Подготовка к обновлению

ВАЖНО!!! Перед обновлением обязательно создайте резервную копию Вашего сайта, что бы в случае чего не потерять данные.

Итак, для сегодняшнего урока я подготовил следующий сайт:

Данный сайт – это черновик одного из моих давних проектов и выполнен он на Joomla 1.5. При этом на новой версии языка PHP он вообще отказывается стабильно работать. Так как изначально при восстановлении из резервной копии, на экран выводилось огромное количество сообщений о ошибках, связанных с использованием устаревших конструкций языка. К тому же вообще не работает меню сайта, хотя в базе данных оно есть. Поэтому наша задача – обновить движок сайта и тем самым вернуть полную работоспособность сайта.

Обновление сайта Joomla 1.5 до Joomla 3.3 достаточно не стандартная задача, потому как если нужно обновить непосредственно движок – то в таком случае все решается достаточно просто и быстро. Но обычно сайты содержат определенный набор установленных расширений, которые могут не поддерживаться новой версией движка.

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

Обновление мы будем выполнять, используя специальный компонент для миграции jUpgrade, который обновит устаревшую версию движка, до версии с долгосрочной поддержкой, а это Joomla 2.5. Затем версию Joomla 2.5 мы обновим до версии Joomla 3.3.

И последний момент – шаблон. Шаблон данного сайта, конечно, созданный под версию Joomla 1.5 и корректно работать с новой версией не будет. Поэтому, нужно либо установить новый шаблон, либо переделать существующий устаревший шаблон, что собственно я и сделаю. Но, в данном уроке мы не будем рассматривать создание шаблона в полной мере – я только покажу какие правки нужно внести в устаревший шаблон, что бы его можно было установить на Joomla 3.3.

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

Расширение jUpgrade может обновить вместе с движком Joomla следующие сторонние расширения (стандартные компоненты обновляются в полном объеме):

AcyMailing

AdminPraise

Akeeba Backup

BreezingForms

CompoJoomComment

CommunityBuilder

Contact Enhanced

Hikashop

JCE

jEvents

JomSocial

Jumi

K2

Kunena

SobiPro

redFORM

redMEMBER

redSHOP

RSGallery 2

VirtueMart

Все остальные расширения придется обновлять вручную, либо не обновлять вообще. В моем случае на тестовом сайте установлены следующие сторонние расширения:

joomlaComment

Community Builder

XMap

FireBoard

uddeIM

Из которых только Community Builder, можно быстро обновить, используя расширение jUpgrade. Остальные либо не поддерживают вообще новую версию Joomla (joomlaComment, форум FireBoard), либо их содержимое не столь важно, что бы тратить время на их обновление(XMap, uddeIM). Поэтому все расширения за исключением Community Builder, я удаляю, потому как только его я буду переносить на новую версию движка. Удаляем расширения из админ панели, а также необходимо проверить базу данных на наличие таблиц удаленных расширений. Если они присутствуют, их так же вручную нужно удалить.

2. Установка JUpgrade.

Итак, переходим на сайт http://matware.com.ar/downloads/jupgrade.html — это сайт разработчика расширения JUpgrade. И скачиваем бесплатную версию данного расширения. Кстати есть также платная версия jUpgrade, которая обладает более широким функционалом.

Затем устанавливаем его как обычное расширение Joomla. Далее, для работы данного расширения необходим плагин Mootools Upgrade Plugin, поэтому если у Вас его нет, то по ссылке http://www.seblod.com/v2/documentation/others/mootools-upgrade-plugin.html, можно скачать данный плагин и установить. После установки переходим в менеджер плагинов и активируем его.

3. Настройка JUpgrade

После установки переходим в панель управления компонента JUpgrade.

Затем в параметры данного компонента.

Дистрибутив – версия движка, до которого обновляемся;

SQL Driver – драйвер по работе с базой данных;

Target Directory – папка в которой будет сохранен новый сайт;

Prefix for old database – префикс таблиц(устаревшей версии);

Prefix for new database – префикс таблиц для нового движка;

Disable set_time_limit() — отключить временной лимит для выполнения операций обновления;

Disable Error Reporting — отключить сообщения об ошибках.

Skip checks – отключить проверку;

Пропустить загрузку – пропустить загрузку, если ДА, то необходимо в папку с новым сайтом записать исходные файлы Joomla, то есть дистрибутив Joomla 2.5;

Пропустить распаковку – если нет, то будет выполнена распаковка дистрибутива;

Skip templates copy – пропустить копирование шаблонов. Поддерживаются только стандартные шаблоны;

Skip 3rd party extensions – пропустить обновление сторонних расширений.

Skip users – пропустить перенос пользователей в новую версию;

Skip categories – пропустить перенос категорий в новую версию;

Skip content – пропустить перенос контента в новую версию;

Skip menus – пропустить перенос меню в новую версию;

Skip modules – пропустить перенос модулей в новую версию;

Skip banners – пропустить перенос баннеров в новую версию;

Skip contacts – пропустить перенос контактов в новую версию;

Skip newsfeeds – пропустить перенос ленты новостей в новую версию;

Skip weblinks – пропустить перенос ссылок.

Keep original positions? – сохранять оригинальные позиции модулей;

Delete previous migration – удалять предыдущие попытки обновлений;

Enable migration debug – включить режим отладки;

Enable Mootools version debug – режим отладки Mootools;

В параметрах указываем папку для хранения обновленной версии движка, если нужно (я же оставляю по умолчанию), так же отменяем загрузку дистрибутива и распаковку. Так как в папку jupgrade мы скопируем дистрибутив Joomla 2.5. Поэтому скачиваем с официального сайта дистрибутив Joomla 2.5 и распакуем его в папку jupgrade.

4. Обновление

После настроеки сохраняем изменения и возвращаемся в панель управления компонентом. Теперь можно начать обновление, кликнув по соответствующей кнопке. Хотел бы отметить, что если кнопка “Начать обновление” не рабочая, значит, присутствует ошибка JavaScript. Ее можно исправить, отредактировав файл media/system/js/modal.js, в котором нужно отыскать строку:

this.setOptions(this.presets);

И заменить на:

this.options=this.presets; 

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

И собственно окончание обновления:

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

После завершения обновления, компонент предоставляет нам ссылки – на пользовательскую часть нашего сайта и в панель администратора. Теперь обновленная версия движка содержится в папке jupgrade. При этом данная версия использует новые созданные таблицы, с префиксом, который был указан при настройке JUpgrade. То есть мы с Вами получили полностью новый сайт, со своей файловой структурой и своей базой данных.

Теперь необходимо удалить все исходные фалы старого движка 1.5 и заменить новыми (из папки jupgrade). В базе данных также необходимо удалить таблицы, которые использовались старой версией Joomla (удаляем все таблицы префикс которых jos – это в моем случае).

После можно посмотреть, как выглядит обновленный сайт:

Как Вы видите – это действительно Joomla 2.5. Теперь если мы посмотрим на установленные компоненты, то мы увидим, что Community Builder остался установленным, он был перенесен на новую версию движка и для его корректной работы, нужно также его переустановить. Поэтому скачиваем последнюю версию компонента и устанавливаем как обычное расширение Joomla. После этого можно убедиться, что все данные данного компонента были успешно перенесены на новую версию движка. Так же сохранился весь контент из предыдущей версии Joomla: материалы, категории, а также меню.

Теперь необходимо обновить версию Joomla 2.5 до Joomla 3.3. Для этого на официальном сайте скачиваем пакет обновлений для данного движка:

После скачивания, устанавливаем пакет обновлений. Тем самым обновляем ядро движка до последней версии 3.3

5. Установка шаблона

Таким образом, мы с Вами завершили обновление Joomla 1.5 до Joomla 3.3. Осталось только установить шаблон, который использовался ранее. Для этого откроем файл templateDetails.xml (данный файл содержится в архиве шаблона) и внесем в него несколько правок в соответствии с требованиями Joomla 3.x. А имеено блок install меняем на блок extension:

<extension version="2.5" type="template" client="site">

Блок параметров также заменяем в соответствии со следующим видом:

<config>
		<fields name="params">
			<fieldset name="advanced">
                <field name="style" type="list" default="1" label="Color scheme" description="Color scheme to use">
                        <option value="1">Maroon</option>
                        <option value="2">Blue</option>
                        <option value="3">Green</option>
                </field>
                <field name="menuanimation" type="list" default="1" label="Menu animation" description="Animation of mainmenu - only MooMenu">
                        <option value="1">Opacity</option>
                        <option value="2">Height</option>
                        <option value="3">Height and Opacity</option>
                </field>
        </fieldset>
</fields>
</config>

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

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

Всего Вам доброго и удачного кодирования!

Хотите узнать, как создать собственный шаблон на CMS Joomla с нуля

Все очень просто!

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

Получить

Метки: , ,

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (9)

  1. Ann

    Спасибо, буду пробовать)
    Отпишусь обязательно.

  2. Юлия

    Виктор, здравствуйте! Не идёт 4 пункт. Не могу выполнить обновление, т.к. ошибка java script путём замены строки на this.options=this.presets; не устраняется. Что посоветуете?

  3. Юлия

    Проблема решена. После установки плагина mootools upgrade в его порядке было System-Mootoools Upgrade, а я не выбрала 0-первый в порядке. Не внимательно отнеслась к вашим рекомендациям на 25 минуте видео.

  4. Виктор

    Виктор, скажите адреса всех страниц поменяются? Ведь в версии 1.5 существуют разделы и категории, а в версии 3 только категории. Как? Только честно. Всвзи с этим позиции сайта сразу просядут в поиске? Поясните прошу, не могу решиться на обновление. С уважением

    • Виктор Гавриленко

      Здравствуйте!
      Да, скорее всего адреса страниц изменятся и если это произойдет, то получится что проиндексированные страницы уже не будут существовать. И это не зависит от того сильно изменятся адреса или нет. Поэтому после обновления нужно поработать со структурой сайта и возможно получится подогнать структуру категорий близкую к разделам, что бы адреса не изменились. Если же это не поможет, то необходимо для поискового робота указывать перенаправления на новые адреса страниц сайта. Но об этом уже более подробнее желательно прочитать в документации по поисковой системе.

  5. Алиса

    Добрый день, Виктор!
    Подскажите, занимаетесь Вы переводом сайтов с джумла 1.5 на более высокие версии? Собственно требуется мигрировать с 1.5 на 2.5 или 3.

    Спасибо!

  6. Владимир

    возникла проблема с отображением плагина но не modal а в migrate
    migrate.js:33 Uncaught TypeError: this.setOptions is not a function
    я написал ваш скрипт в тот файл, отобразилось как следует но процесс не пошел по нажатию кнопки

  7. Bahus

    Что то я не найду как загрузить компонент JUpgrade с сайта автора. Или они его переименовали в com_mtwmigrator

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree