Интернет-магазины, каталоги на Joomla

Миграция Virtuemart 1.1 до Virtuemart 2.0

Миграция Virtuemart 1.1 до версии 2

VirtueMart - это просто огромное расширение. По некоторым данным, VirtueMart занимает второе место среди всех платформ электронной коммерции.

Практически все магазины на Virtuemart работают на версии 1.1, однако совсем недавно разработчики выпустили свежую версию Virtuemart 2.0. В данном уроке мы рассмотрим пример по миграции магазина на Virtuemart с версии 1.1 на 2.0.

Что нужно знать?

Перенос магазина с Virtuemart 1.1 на последнюю версию Virtuemart 2.0 можно осуществить с помощью специальной утилиты для миграции, встроенной в Virtuemart. Следует знать, что существует несколько подводных камней. Утилита для миграции переносит данные:

  • товары
  • заказы
  • категории товаров
  • производители
  • категории производителей
  • группы покупателей

Однако, встроенный мигратор не переносит следующие данные:

  • типы товаров
  • атрибуты товаров

Эти данные необходимо перенести вручную.

В этом уроке мы подробно рассмотрим процесс переноса магазина с версии 1.1 на версию 2.0.

Перед тем, как начать полноценную миграцию магазина, лучше потренироваться на тестовом полигоне, а не на рабочем сайте. Мы всегда советуем: НЕ СТОИТ ПЕРЕНОСИТЬ ДАННЫЕ НА ЖИВОМ, РАБОТАЮЩЕМ САЙТЕ. Ниже мы также расскажем, как создать рабочую копию сайта на Joomla.

Шаг 1: Скачайте файлы Virtuemart

Шаг 1: Скачайте файлы Virtuemart

Откройте http://virtuemart.net и скачайте следующие пакеты:

  • Дистрибутив Virtuemart 2.0
  • Если на вашем текущем магазине установлена более ранняя версия, чем Virtuemart 1.1.9, скачайте пакет обновлений до версии Virtuemart 1.1.9. На рисунке выше можно увидеть, что существуют специальные патчи для предыдущих версий магазина. Патчи можно скачать здесь: http://dev.virtuemart.net/projects/virtuemart/files. Вам необходимо обновить магазин до версии Virtuemart 1.1.9 перед тем, как осуществлять следующие шаги по миграции до версии 2.0.

Шаг 2. Перенесите медиа данные в /images/stories/virtuemart/

Шаг 2. Перенесите медиа данные в /images/stories/virtuemart/

  • Используйте FTP утилиту или файловый менеджер и создайте папку для медиа файлов, расположенных по адресу /images/stories/virtuemart/.
  • Скопируйте все файлы, размещенные в /components/com_virtuemart/shop_image/ в эту новую папку по адресу /images/stories/virtuemart/.

Миграция Virtuemart 1.1 до версии 2

Шаг 3. Переименуйте старые папки com_virtuemart

Перейдите в /components/com_virtuemart/ и переименуйте всю папку /com_virtuemart/, используя файловый менеджер или FTP утилиту. Я добавил слово ORIGINAL к прежнему названию, как показано на рисунке ниже, таким образом, теперь легко распознать старую версию магазина по названию папки /ORIGINALcom_virtuemart/.

Шаг 3. Переименуйте старые папки com_virtuemart

Шаг 4. Отключите режим отладки Joomla, а также модули и плагины Virtuemart.

Теперь нам нужно открыть файл кофигурации Joomla и отключить режим отладки Joomla.

  • Открывайте Сайт > Глобальная конфигурация.
  • Идите в закладку “Система”.
  • Выбирайте “Нет” для режима отладки.
  • Нажимайте “Сохранить”.

Теперь нам нужно открыть файл кофигурации Joomla и отключить режим отладки Joomla.

Также нужно отключить все модули Virtuemart.

  • Идите в Расширения > Менеджер модулей.
  • Используйте Фильтр для сортировки всех модулей Virtuemart.
  • Нажимайте на чекбокс в верхней колонке для выделения всех модулей.
  • Нажимайте “Снять с публикации”.

Если остались еще зеленые иконки рядом с модулями Virtuemart, это индикатор того, что еще не все модули отключены - нужно, чтобы были красные иконки, указывающие на то, что модули VirtueMart отключены).

Также нужно отключить все модули Virtuemart.

Следующий шаг - снятие с публикации плагинов Virtuemart:

  • Идите в Расширения > Менеджер плагинов
  • Используйте Фильтр для сортировки всех плагинов VirtueMart.
  • Отключайте все плагины Virtuemart.

Следующий шаг - снятие с публикации плагинов Virtuemart

И, наконец, если у вас установлен плагин Akeeba System - System Restore Points plugin, то снимайте его с публикации тоже.

Шаг 5. Установка языка по умолчанию

Шаг 5. Установка языка по умолчанию

  • Идите в Расширения > Менеджер языков
  • Проверьте, язык по умолчанию должен быть тот же, что и в описании товаров. На этой иллюстрации приведен пример сайта с одним языком, но если у вас двуязычный сайт или более - удостоверьтесь, чтобы в таблицах базы данных были указаны правильные языки.

Шаг 6. Установка Virtuemart 2.0

Скачанный вами архив Virtuemart необходимо распаковать, что явно видно из названия архива, например: com_virtuemart.2.0.2_extract_first.zip. После распаковки вы получите следующие файлы:

  • com_virtuemart.2.0.2.zip
  • com_virtuemart.2.0.2_ext_aio.zip

Нам нужно сперва установить архив com_virtuemart.2.0.2.zip до того, как доберемся до второго установочного пакета под названием AIO (All-in-one - “всё в одном”). Установочный пакет AIO содержит все плагины и модули, которые нам нужны. Но это чуть позже.

Идите в Расширения > Установка / Деинсталляция (или Расширения > Менеджер расширений) в Joomla 2.5 и устанавливайте файлы для Virtuemart 2.0. Архив, который нам нужно загрузить, должен иметь название типа com_virtuemart.2.0.3.zip.

Шаг 6. Установка Virtuemart 2.0

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

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

Теперь можно перейти в Компоненты > Virtuemart и подтвердить, что все данные не повреждены и миграция была выполнена. Если всё было установлено успешно, вы увидите экран как на примере ниже. Если в процессе миграции возникли ошибки, вы получите соответствующее сообщение об ошибке, что является довольно распространённой проблемой, если судить по сообщениям на форуме. Тем не менее, решение весьма простое. Если у вас возникло сообщение об ошибке, деинсталлируйте Virtuemart 2.0 и установите его снова.

Шаг 6. Установка Virtuemart 2.0

Шаг 7. Установка компонента VirtueMart AIO

Возвращайтесь к Расширения > установка / удаление > и загружайте компонент AIO (All In One - “Всё в одном”). Он будет называться примерно так: com_virtuemart.2.0.2_ext_aio.zip.

Шаг 7. Установка компонента VirtueMart AIO

Шаг 8. Снятие с публикации несовместимого плагина

Если у вас сайт на Joomla 1.5, то при попытке посмотреть фронт сайта, получите сообщение об ошибке. Это вызвано тем, что при установке AIO компонента также устанавливается и плагин для Joomla 2.5. Поэтому на сайте под управлением Joomla 1.5 возникает ошибка. Исправить её можно следующим образом:

  • Открывайте панель администратора и идите в Расширения > Менеджер плагинов.
  • Используйте Фильтр для поиска плагинов Virtuemart.
  • Отключайте новый плагин под названием VM - Search, Virtuemart Product.
  • Открывайте фронтальную часть сайта и смотрите нет ли ошибок.

Если у вас нет доступа в панель администрирования, то можно отключить модуль при помощи phpMyAdmin, о чем рассказано в этом уроке.

Шаг 8. Снятие с публикации несовместимого плагина

Шаг 8. Снятие с публикации несовместимого плагина

Шаг 9. Включение режима обновления базы данных

  • Идите в Компоненты > Virtuemart.
  • Нажимайте Конфигурация.
  • Нажимайте в закладку Магазин и скроллируйте вниз.
  • Нажимайте enable database tools.
  • Нажимайте “Сохранить

Шаг 9. Включение режима обновления базы данных

Шаг 10. Настройка миграции

  • Идите в Инструменты и нажимайте на закладку Миграция.
  • Увеличьте время выполнения в переменной max_execution. У себя я ставлю значение 100.
  • Увеличьте значение Memory Limit. Я выставляю 256MB.
  • Выделите радио баттон "everything". Необходимо это сделать до запуска миграции.
  • Нажимайте в Запуск миграции.

Шаг 10. Настройка миграции

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

Шаг 11. Настройка миграции

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

Шаг 11. Настройка миграции

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

Шаг 11. Настройка миграции

Поздравляю! На данный момент мы успешно завершили перенос магазина на Virtuemart 2.0 с помощью встроенной утилиты для миграции и уличной магии. :)

Теперь можно настроить магазин, перейдя в Компоненты > Virtuemart > Конфигурация. В сети также существует отличный урок по настройке Virtuemart, с данным уроком вы также можете ознакомиться.

Желаем удачи и хороших продаж вашему магазину на базе Virtuemart 2.0!

Оригинальная статья: Ed Andrea

Комментарии Обновить

Сергей Мочалов
Сергей Мочалов
Прямая ссылка
А как на текущий момент у двойки дела с интеграцией отечественных платежных систем?
20.05.2012 13:30
Сергей Мочалов
Сергей Мочалов
Прямая ссылка
А как на текущий момент у двойки дела с интеграцией отечественных платежных систем?
20.05.2012 13:30
Stepan Tyurin
Stepan Tyurin JoomlaBlog
Прямая ссылка
Ну судя по форуму не особо :)
joomlaforum.ru/index.php/board,396.0.html
20.05.2012 13:42
Stepan Tyurin
Stepan Tyurin JoomlaBlog
Прямая ссылка
Ну судя по форуму ("http://joomla forum.ru/index. php/board,396.0 .html") не особо :-)
20.05.2012 13:42
Хороший блог.
Но есть один вопрос...
У Вас написано:
Переименуйте старые папки com_virtuemart

Перейдите в /components/com _virtuemart/ и переименуйте всю папку /com_virtuemart /,



А по этому адресу (httpdocs/admin istrator/compon ents/com_virtue mart) тоже надо менять?? менять все?
или только в components/com_ virtuemart/

Заранее спасибо!
25.07.2012 19:37
Dmitry Rekun
Dmitry Rekun JoomlaBlog
Прямая ссылка
По идее тоже нужно, иначе VM2 запишется поверх старого... Ведь он устанавливается не только в публичную часть сайта, но и в административну ю.
25.07.2012 19:51
Установка 2.08e прошла пока неудачно, благо делал всё на лок. копии сайта на j1.5 развернутого на денвере.
С админкой вроде разобрался. апдейт бд прошел успешно.
а вот фронталка стала сыпать ошибками требуя парсер, возможно мешает sh404sef. буду копать еще.
Из замечаний: зачем мне весь этот хлам (плагины оплаты манибукерс, пейпел и проч) из пакета all-in-one, если мне надо всего 4-5 модулей. сайт же не резиновый.
рассказали бы как извлечь нужное из пакета и установить отдельно и корректно. а заодно какие модули плагины порекомендуете устанавливать.
30.07.2012 22:38
А где настраивается префикс таблиц старого сайта?
З.Ы. Сайт обновил с помощью JUpgrade на Joomla 2.5 и префикс таблиц изменился (было jos_ стало j25_). Так вот миграция в Virtuemart пытается найти j25_vm_...
22.01.2013 17:20
Eugene Sivokon
Eugene Sivokon JoomlaBlog
Прямая ссылка
Таблицы меняются через запрос в phpmyadmin. Самый быстрый способ - воспользуйтесь компонентом Akeeba admintools, она умеет менять префиксы всем таблицам базы данных "не отходя от кассы".
22.01.2013 17:29
Евгений, нужно не префиксы таблиц поменять, а именно мигратору сказать, что нужно брать данные из таблиц с префиксом "jos_".
22.01.2013 22:38
У меня сайт по данной инструкции обновляется без проблем, но вообще не переносятся цены. После переноса захожу в базу и там таблица #_virtuemart_pr ices пустая. Хотя таблица полученная в результате jupgrade #_vm_prices содержит все данные, равно как и остальные табрицы. Проблема в миграторе virtuemart. Пока не понял как решить
22.01.2013 22:42
Цены перенеслись нормально - увеличил время выполнения скрипта и лимит памяти. Но почему-то, кнопка "добавить в корзину" появляется только, когда смотришь страницу товара, а на странице категории везде выводится кнопка "описание товара". А хочется, чтоб и отсюда пользователь мог добавить товар в корзину
23.01.2013 00:00
В virtuemart 2.0 по умолчанию на странице категории нет кнопки Добавить в корзину, поищите в интернете есть решения.

p.s. статью добавила в закладки, на днях буду переносить, какие будут результаты напишу позже
15.02.2013 15:22
Здравствуйте, вы писали:
Цитата:
Однако, встроенный мигратор не переносит следующие данные:
типы товаров
атрибуты товаров
Как перенести эти данные? Учитывая то что во втором марте несколько другая логика?
13.03.2013 22:19
все делал по инструкции. не перенеслись Характеристики и Сопутствующие товары.

Кто-то сталкивался??? Как быть???
10.06.2013 21:14
Здравствуйте, при обновлении VirtueMart 1.1.4 на Joomla 1.5 до VirtueMart 2.0.10 по мануалу joomlablog.ru/.../...
после шестого шага появляется ошибка

error: Class 'JAccess' not found in C:\my_projects\ site.com\www\ad ministrator\com ponents\com_vir tuemart\helpers \vmview.php on line 84

Все делал по инструкции, кроме того обновления VirtueMart 1.1.4 до 1.1.9 , та как сервер с патчами недоступен.
вот нашел ответ
forum.virtuemart.net/.../

VM 2.0.22 has ACL (Access Control List) to control the access to the VirtueMart administration pages. This class is only available in Joomla 2.5
Значит, что VM 2.0.22 невозможно поставить на Joomla 1.5, но младшие версии VM 2? как же обновить тогда вирт до новой линейки, ведь если есть инструкция, то значит, что это возможно...
21.09.2013 13:33
Dmitry Rekun
Dmitry Rekun JoomlaBlog
Прямая ссылка
Добрый день. В VM 2.0.22 действительно появился ACL и он будет работать только на Joomla 2.5+
23.09.2013 11:49
Сейчас сборка VM 1.2.0b + Joomla 2.5.14

По данной инструкции реально обновить VM? Просто слышал, что VM 1.2.0 не поддерживается больше, но, по сути, он идентичен VM 1.1.9
24.10.2013 09:41
Dmitry Rekun
Dmitry Rekun JoomlaBlog
Прямая ссылка
Я бы сказал, что можно. Но сам не пробовал. Если будете пробовать, то сделайте бэкап сайта и базы, и вперед ;)
24.10.2013 13:15
Если руки дойдут - отпишусь об эксперименте. Спасибо.
25.10.2013 08:12
Здравствуйте!
Все сделал по инструкции, но на 10 шаге при миграции базы пустая страница нечего не происходит
27.10.2013 06:57
если ставить все или основное или пользователи тогда белый экран
заказы и товары перенес
27.10.2013 07:29
1)JAdministrato r->dispatch() /administrator/index.php:67
2)JComponentHelper->renderComponent() /administrator/includes/application.php:136
3)require_once() /libraries/joomla/application/component/helper.php:162
4)JController->execute() /administrator/components/com_virtuemart/admin.virtuemart.php:70
5)VirtuemartControllerUpdatesMigration->migrateGeneralFromVmOne() libraries/joomla/application/component/controller.php:236
6)Migrator->migrateGeneral() /administrator/components/com_virtuemart/controllers/updatesmigration.php:379
7)Migrator->portCategories() /administrator/components/com_virtuemart/helpers/migrator.php:143
8)VmTable->bindChecknStore() /administrator/components/com_virtuemart/helpers/migrator.php:864
9)VmTable->bindChecknStoreNoLang() /administrator/components/com_virtuemart/helpers/vmtable.php:812
10)VmTableData->store() /administrator/ components/com_ virtuemart/help ers/vmtable.php :871
27.10.2013 07:44
при этом на сайте нету каталогов и товара
(джумла 1,5)
27.10.2013 08:31
Dmitry Rekun
Dmitry Rekun JoomlaBlog
Прямая ссылка
Тяжело что-то сказать. Попробуйте обратится на форум joomlaforum.ru
28.10.2013 14:33
Подскажите пожалуйста, а как мне таблицу с вариантами доставки перенести в новый virtuemart 2.0? Спасибо!
07.11.2013 13:29
Ничего не получится если следовать этим инструкциям.
Автор не понимает о чем пишет. Просто тупо переводит с английского не проверяя.
Вот первоисточник:
ostraining.com/.../...
24.12.2013 05:09
Подскажите, пожалуйста, после обновления Virtuemart вместо сайта только белый экран sharmx.com.ua
Админка работает но при нажатии на компонент Virtuemart высвечивается такой же белый фон и поле для пароля.
Заранее спасибо за помощь
07.03.2014 22:42
Dmitry Rekun
Dmitry Rekun JoomlaBlog
Прямая ссылка
Мария, для решения проблем есть форумы, например joomlaforum.ru
08.03.2014 12:00
Внимание: Вы используете старые расширения VM. Удалите или отключите их. И не переносятся товары. Перенеслись только категории
13.03.2014 19:16
Тоха Злыдня
Тоха Злыдня
Прямая ссылка
Сделал без проблем : ellie.kz , спасибо! ;)
05.05.2014 09:43

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