На момент написания статьи вышло уже 2 stable версии virtuemart 3, совместимые с joomla 2.5 и joomla 3. Это значит, что можно смело обновляться, не опасаясь многочисленных ошибок.
Разработчики значительно упростили процесс обновления, сохранив максимальную совместимость с virtuemart 2. Новую версию можно просто установить через менеджер расширений (не требуется миграция, как при обновлении с vm 1 на vm 2).
После обновления нескольких сайтов до virtuemart 3 не было замечено серьезных проблем, все работает правильно. Конечно, есть некоторые недоработки, но они должны быть устранены в ближайших релизах.
C 1 января 2015 прекращена поддержка joomla 2.5. С 1 июня 2015 из JED начнут удаляться все расширения, связанные с joomla 2.5. Поэтому лучше всего обновить сразу и virtuemart и joomla.
Алгоритм обновления:
- Обновление до virtuemart 3.
- Обновление до joomla 3.
- Обновление расширений.
- Обновление шаблона.
- Исправление ошибок.
Перед обновлением
- Создайте резервную копию сайта.
- Тестировать обновление лучше всего на локальном сервере.
- Для правильной работы на сервере должен быть установлен php 5.3.10+ (это минимально необходимая версия, рекомендуется php 5.4+) и MySQL 5.1. (полный список технических требований).
- Создайте список всех установленных расширений. Уточните их совместимость с vm3 и joomla 3.
- Уточните есть ли версия используемого шаблона для joomla 3.
1 шаг. Обновление virtuemart
Чтобы после обновления не потерять изменения, внесенные в шаблоны virtuemart, перенесите все измененные файлы в папку с шаблоном по адресу \templates\имя_шаблона\html\com_virtuemart\.
Если в шаблоне нет папки \html\com_virtuemart\, то создайте ее.
Переносите не все подряд файлы, а только те, в которые вносились изменения.
При переносе файлы из папок tmpl нужно переносить в родительскую папку. Например, для файла шаблона категории товаров \components\com_virtuemart\views\category\tmpl\default.php новый адрес будет иметь вид \templates\имя_шаблона\html\com_virtuemart\category\default.php.
Если вносились изменения в файл стилей \components\com_virtuemart\assets\css\vmsite-ltr.css, то скопируйте его в папку со стилями шаблона \templates\имя_шаблона\css.
Так же в папку \templates\имя_шаблона\html\ перенесите измененные файлы модулей virtuemart.
После переноса всех измененных файлов можно переходить к обновлению.
С официального сайта скачиваем последнюю версию virtuemart.
Распаковываем архив и через менеджер расширений устанавливаем сначала com_virtuemart.3.x.x.zip, после этого com_virtuemart.3.x.x_ext_aio.zip.
Далее переходим в Компоненты > virtuemart-aio и нажимаем Обновление таблиц плагина VM.
На этом обновление до virtuemart 3 завершено.
Вот так все легко и просто :).
2 шаг. Обновление Joomla
Для обновления до joomla 3 сначала обновимся до последней версии в линейки joomla 2.5.
Переходим в Расширения > Менеджер расширений > Обновление и нажимаем кнопку Очистить кеш.
Далее переходим в Сайт > Панель управления > Обновление Joomla.
В правом верхнем углу нажимаем кнопку Настройки в поле Сервер обновления выбираем Дистрибутивы Joomla с длительным периодом поддержки.
После сохранения Joomla предложит для установки последнюю доступную версию joomla 2.5.28.
Нажимаем кнопку Установить обновление.
После удачного обновления переходим в Расширения > Менеджер расширений > База данных. Если после обновления возникли какие-то ошибки, нажимаем кнопку Исправить.
Теперь можно обновляться до последнее версии joomla 3. Снова переходим в Сайт > Панель управления > Обновление Joomla, нажимаем кнопку Настройки и выбираем Дистрибутивы Joomla с краткосрочной поддержкой.
После сохранения обновляемся до joomla 3.
После удачного обновления и (при необходимости) исправления ошибок в базе данных (Расширения > Менеджер расширений > База данных) админ панель полностью изменится. Поначалу, скорее всего, она покажется не очень удобной, но привыкание наступит быстро 🙂
3 шаг. Обновление расширений
Составьте список всех установленных расширений на сайте.
Если расширение пока не поддерживает joomla 3 и virtuemart, то удалите его.
Часть расширений можно обновить автоматически в Расширения > Менеджер расширений > Обновление.
Если расширение не поддерживает автоматическое обновление, то установите его стандартно через Менеджер расширений.
4 шаг. Обновление шаблона
Если шаблон построен на одном из фреймворков (Warp, T3 Framework, Gantry и т.д.), то его можно автоматически обновить через Менеджер расширений. Главное перед обновлением сохраните измененные файлы (файлы стилей, фавиконку и т.д.) и перепишите их после обновления.
Если сайт работает на бесплатном или платном шаблоне, который не поддерживает автоматическое обновление, но на сайте разработчика скачайте новую версию для joomla 3 (если она есть) и установите ее. Предварительно так же скопируйте измененные файлы и перепишите их после обновления.
5 шаг. Исправление ошибок
Если после обновления не появилось ни одной ошибки в работе сайта - это большая удача и нужно обязательно это отметить 🙂
Если вам не так повезло и сайт перестал работать (показывается пустая страница) или работает с ошибками, нужно в System > Общие настройки > Сервер активировать показ ошибок.
Так же в Virtuemart > Настройки > Магазин активируем показ сообщений об ошибках.
После этого можно будет узнать какой файл вызывает ошибку в работе сайта.
P.S.
Если после миграции перестала открываться карточка товара, то скорее всего на сайте установлен компонент jcomments. Решение проблемы здесь.
D@N
Добрый день.
Virtuemart3.ru случайно не ваш? там ест интересная статейка по поводу Аякс скрола
все получилось но есть недоработки 🙁
статья "AJAX пагинация списка товаров в категории Virtuemart "
admin
Здравствуйте!
Нет, это не мой сайт
denis2015
"System > Общие настройки > Сервер > активировать показ ошибок"
Если поставить "максимум" - белый экран
AJAX пагинация тоже интересует, пытался сделать... но не вышло, похоже, конфликт скриптов в шаблоне
D@N
По поводу пагинации попробуйте еще раз, если не получится подскажу.
Вячеслав
Добрый день!
Спасибо большое за статью
Будем пробовать.
То есть я правильно понял, что при переносе файлов, в которые были внесены изменения в папку шаблона, virtuemart 3 будем подключаться к ним?
Несмотря на то, что файлы, в которые были внесены изменения относятся к virtuemart 2
И еще я обратил внимание, что файлы в virtuemart 3, отвечающие на стили немного отличаются
Например, в virtuemart 2 файл называется vmsite-ltr, а в virtuemart 3 vm-ltr-site
Это не будет иметь значение и если файл vmsite-ltr от virtuemart 2 будет находиться в папке с шаблоном, то он будет работать?
admin
Здравствуйте!
Да, все правильно
vm-ltr в папке с шаблоном будет работать
Renat
Здравствуйте пробовал обновляться, устанавливал жумлу и виртуемарт 3-ий с нуля, у меня главная страница страница виртуемарта, в итоге белый экран. Сам сайт работает но вирт никак не хочет (
admin
Здравствуйте!
Пробовали включить показ ошибок, что пишет?
Дмитрий
Добрый день! Такая же проблема! Joomla 3.4.1, virtuamart 3 с офф. сайта. Установился нормально без каких-либо ошибок. Но при клике на него ВЫЛАЗИТ ошибка:
Table 'kramer.bxskz_virtuemart_shipmentmethods_ru_ru' doesn't exist SQL=SELECT virtuemart_shipmentmethod_id,shipment_name FROM bxskz_virtuemart_shipmentmethods INNER JOIN bxskz_virtuemart_shipmentmethods_ru_ru USING (virtuemart_shipmentmethod_id) WHERE published="1"
Дмитрий
Может проблема в DENWER, или PHP версия не поддерживается? Как это исправить?
Спс.
admin
Не забыли virtuemart aio обновить?
Дмитрий
Исправил! Причина была в версии PHP 5.3 - обновил до 5.4 и все заработало!
Ришат
Добрый день!
Главная страница virtuemart белый экран. Включил пока ошибок.
Notice: Undefined property: stdClass::$id in /home/host1385673/davlii.ru/htdocs/d/templates/hipster/XTC/XTC_library.php on line 150
код этой линии
admin
Проблема в используемом шаблоне.
Вы обновили его для совместимости с joomla 3?
Виктория
Подскажите, как в virtuemart3 вывести настраиваемые поля справа от картинки перед ценой?
she-r
Всем привет, обновил virtuemart до последней версии шаблон GCK, и тут появился несуществующий товар. В товарах его нет а вот в модулях Последние товары, Десять лучших товаров и рекомендуемые товары он вылез, высвечивается пустая VM картинка кнопка описание товара и непонятная цена. Обыскал все при клике описание товара вылетаю на 404 страницу. В интернете ни чего нет, что делать не знаю. Нужен совет, может кто сталкивался.
admin
Попробуйте добавить еще один тестовый товар.
Возможно, после этого "фантомный" пропадет.
DaN
Добрый день.
После обновления выскакивает "Ошибка 500. JHtmlBehavior::mootools not found."
кто то встречал как побороть?
В гугле есть варианты заменить
"JHtml::_('behavior.mootools'); и/или JHtmlBehavior::mootools(); "
на
"JHtml::_('behavior.framework');"
но не нашел у себя таких строк.
DaN
Плохо искал, таки нашел оказалось по пути:
"/templates/Ваш_шаблон/layouts/default.php" у меня строка 103
Алексей
Обновил до VM 3.0.8, Joomla 3.4.1
В окне Virtuemart->Заказы в поле "Вид для печати" есть кнопочки для создания счета и накладной в pdf. Если их использовать появляется ошибка, та же ошибка появляется при формировании письма с вложением:
Подскажите, в чем дело? как решать?
admin
Попробуйте установить com_tcpdf_1.0.0.zip, который появился в версии vm 3.0.6
Алексей
Благодарю, помогло! Спасибо, добрый человек!)
admin
Рад, что проблема решилась.
Евгений
Вроде бы бегал, прыгал... нарвался на ошибку в админке... при каждом сохранении файла теперь (в вирт марте).
SELECT
id
asvirtuemart_user_id
,first_name
,last_name
,order_number
FROMjos_users
asu
JOINjos_virtuemart_vmusers
as uv ON u.id = uv.virtuemart_user_id JOINjos_virtuemart_userinfos
as ui ON u.id = ui.virtuemart_user_id JOINjos_virtuemart_orders
as uo ON u.id = uo.virtuemart_user_id ORDER BY uo.created_on
DESC LIMIT 0, 5Пред история:
Обнова с 2.0.26а - 3.0.9
Джумла - 2.5.17 - 2.5.28 - 3.4.1
Крутое пике прошло условно успешно. фронт вроде бы весь работает. а вот этот хед трик не осилил.
В базе на локалке проверил поля last_name существуют...
конфликт при сравнивании? т.е. в другой таблице аналогично есть last_name. Попробую найти, но... что с ним делать? где удалить?)) или?
admin
Попробуйте в Virtuemart > Заказы и покупатели > Покупатели отметить чекбокс с администратором и нажать кнопку Продавец.
Евгений
Аналогично...
/administrator/index.php?option=com_virtuemart - та же ошибка. Есть вариант перезалить? В смысле СЕО ссылки и товары как-то вытащить, переустановить вирт с ноля и занести базу обратно?(
Евгений
Проблема с бд. Взял напрямую через мусклю запустил запрос, тот же косяк. Так как запрос работает на другой базе (не проверял, но не мог же селект сам написаться таким =) ) буду рыться в базе( необходимо ставить еще 1 маг и сравнивать таблицы. Ибо вижу выхода другого нет. Ошибка особо по функционалу не мешает (данные сохраняет), но каждый раз видеть ее напрягает)
Герман
Joomla! 2.5.28, VirtueMart 2.6.18
Та же ошибка, что и у Алексея.
Установка предлагаемого компонента не помогла.
Переустановка AIO тоже.
Не знаю что делать. В инете не нашел решения.
Прошу помочь. Может кто знает как решить?
admin
Здравствуйте!
Попробуйте установить com_tcpdf_1.0.0.zip
http://dev.virtuemart.net/projects/virtuemart/files
Герман
Пробовал. Не помогает.
Герман
Решил проблему. Установил com_tcpdf_for_vm2
Герман
http://dev.virtuemart.net/projects/tcpdf/files
admin
Спасибо, что поделились.
Дмитрий
Добрый день.
При заходе в заказ из админки появляется
"Предупреждение 500"
ума не приложу что это такое(
admin
Здравствуйте!
После чего появилась ошибка?
500 - это внутренняя ошибка сервера.
Другие страницы магазина работают правильно?
Эрика
Здравствуйте.
Скажите пожалуйста, как исправить ошибку 404 в админ панели, после обновления виртумарт 2 на виртумарт 3. А именно, нажимаю на виртумарт aio появляется ошибка 404 Компонент не найден и также во вкладке tcpdf. Спасибо!
admin
Здравствуйте!
В vm3 при переходе в virtuemart aio выводится ошибка, с чем связано не знаю, но на работе это никак не сказывается.
Эрика
А как тогда обновить таблицы плагина VM? Это 1 шаг. Обновление virtuemart. Спасибо.
admin
Точно не скажу, но видимо обновление таблиц было необходимо в ранних версиях vm3, когда писалась эта статья.
Сейчас этого не нужно.
Если все работает, значит обновление прошло правильно.
Эрика
Ок, спасибо огромное!
Эрика
Здравствуйте.
Подскажите пожалуйста, ответ на такой вопрос. Возникли проблемы отображения настраиваемого поля.
Перед обновлением с вирта 2 на 3, карточка товара выглядела так:
http://s009.radikal.ru/i308/1601/7e/b8bda6b8b1c7.png
После обновления:
http://s017.radikal.ru/i413/1601/07/2ac708c3059c.png
Категория товара перед обновлением выглядела так:
http://s020.radikal.ru/i713/1601/a4/e65c72e23544.png
После обновления стало так:
http://s020.radikal.ru/i714/1601/7c/2f3ff68e619d.png
Подскажите пожалуйста, как подправить. Спасибо!
admin
Здравствуйте!
Пришлите ссылку на сайт.
Эрика
Здравствуйте, Владимир.
Сайт teros.ru
admin
У Вас на сайте вирус.
Лучше смотреть на сайт после обновления.
Разместите его на каком-нибудь тестовом домене.
Эрика
Это рабочий вариант с вирт 2. На локалке, стоит обновленный вариант.
Эрика
Поэтому и обновляемся, а то в старых версиях много уязвимостей.
Пока некуда к сожалению выложить обновленный вариант. Скажите, а как что-то подобное сделать если не работает старый вариант? Спасибо!
admin
Каждый сайт индивидуален, при обновлении у всех разные проблемы и решать их приходится по-разному, поэтому трудно что-то конкретное посоветовать.
Эрика
Здравствуйте, Владимир.
Посмотрите пожалуйста обновленный вариант сайта, о чем говорилось выше. sotowye.tmweb.ru. Вся надежда на Вас. Спасибо!
admin
Новый сайт так же заражен, не получается на него зайти.
Эрика
Владимир, посмотрите sotowye.tmweb.ru еще раз, это в кеше остались файлы, поэтому антивирус так реагировал.
http://s020.radikal.ru/i710/1601/5c/c34c437a11ef.png
admin
К сожалению, нужно дополнительно вносить правки в файлы шаблона.
Только с помощью css вопрос не решить.
Разместите тему в коммерческом разделе форума.
Эрика
Ок, спасибо!
Саня
Здравствуйте, подскажите пожалуйста можно ли с VirtueMart 2.6.22 обновится до VirtueMart 3.0.13 сразу или необходимо делать это через установку промежуточных VirtueMart версии 3.х.х?
admin
Здравствуйте!
Можно обновиться сразу.
В любом случае тестировать обновление лучше на тестовом домене или локальном сервере.
Саня
Спасибо, еще вот нашел информацию от том, что советуют при переходе с virtuemart 2 на virtuemart 3 деисталировать, если есть компонент Akeeba BackUP.(на сайте virtuemart3 . ru)
Михаил
Все сделано по Вашей инструкции, все впринципи работает, но при входе в админке в virtumart Заказы выдает вот эту ошибку:
1054 Unknown column 'u.company' in 'field list' SQL=SELECT SQL_CALC_FOUND_ROWS o.*, CONCAT_WS(' ',u.company,u.first_name,u.middle_name,u.last_name) AS order_name ,u.email as order_email, pm.payment_name AS payment_method, u.company AS company, u.city AS city, u.zip AS zip, u.phone_1 AS phone, st.address_type AS st_type, st.company AS st_company, st.city AS st_city, st.zip AS st_zip, u.customer_note AS customer_note FROM ba4vt_virtuemart_orders as o LEFT JOIN ba4vt_virtuemart_order_userinfos as u ON u.virtuemart_order_id = o.virtuemart_order_id AND u.address_type="BT" LEFT JOIN ba4vt_virtuemart_order_userinfos as st ON st.virtuemart_order_id = o.virtuemart_order_id AND st.address_type="ST" LEFT JOIN ba4vt_virtuemart_paymentmethods_ru_ru as pm ON o.virtuemart_paymentmethod_id = pm.virtuemart_paymentmethod_id ORDER BY created_on DESC LIMIT 0, 200
Михаил
А второй случай подобной ошибке при входе в раздел "Магазин" в Админке:
1054 Unknown column 'u.company' in 'field list' SQL=SELECT o.*, CONCAT_WS(' ',u.company,u.first_name,u.middle_name,u.last_name) AS order_name ,u.email as order_email, pm.payment_name AS payment_method, u.company AS company, u.city AS city, u.zip AS zip, u.phone_1 AS phone, st.address_type AS st_type, st.company AS st_company, st.city AS st_city, st.zip AS st_zip, u.customer_note AS customer_note FROM ba4vt_virtuemart_orders as o LEFT JOIN ba4vt_virtuemart_order_userinfos as u ON u.virtuemart_order_id = o.virtuemart_order_id AND u.address_type="BT" LEFT JOIN ba4vt_virtuemart_order_userinfos as st ON st.virtuemart_order_id = o.virtuemart_order_id AND st.address_type="ST" LEFT JOIN ba4vt_virtuemart_paymentmethods_ru_ru as pm ON o.virtuemart_paymentmethod_id = pm.virtuemart_paymentmethod_id WHERE ( u.virtuemart_user_id = 422 AND u.virtuemart_user_id = 422 ) order by o.modified_on DESC
admin
В Расширения > Менеджер расширений > База данных есть какие-то ошибки?
Михаил
Нет? нету!(((
Михаил
Пробовал переустановить по верх не чего не изменилось( Осталось все так же!
admin
Попробуйте зайти в раздел Virtuemart > Магазин > Магазин, внести какие-то изменения и сохранить. При сохранении никаких ошибок кроме этой же не выдается?
Михаил
Так он туда и не заходит, не работает 2-ве вкладки, магазин и заказы!
Михаил
В общем проблема решена!!!
Переименованием строки в таблице #_virtuemart_order_userinfos
Там почему то появился какой то префикс у строки (DELETE и много цифр) Удаляем его и сразу все работает!
admin
Спасибо, что поделились решением.
Анастасия
Владимир, добрый день! У меня тоже после обновления сайта появилась ошибка 1054
Unknown column 'p.product_mpn' in 'field list' SQL=SELECT virtuemart_order_item_id, product_quantity, order_item_name, order_item_sku, i.virtuemart_product_id, product_item_price, product_final_price, product_basePriceWithTax, product_discountedPriceWithoutTax, product_priceWithoutTax, product_subtotal_with_tax, product_subtotal_discount, product_tax, product_attribute, order_status, p.product_available_date, p.product_availability, intnotes, virtuemart_category_id, p.product_mpn FROM (#__virtuemart_order_items i LEFT JOIN #__virtuemart_products p ON p.virtuemart_product_id = i.virtuemart_product_id) LEFT JOIN #__virtuemart_product_categories c ON p.virtuemart_product_id = c.virtuemart_product_id WHERE
virtuemart_order_id
="5206" group byvirtuemart_order_item_id
я так понимаю, ему нужен новый столбец product_mpn в таблице _virtuemart_order_items.
Следующий запрос: ALTER TABLE
bsczg_virtuemart_order_items
ADDproduct_mpn
TEXT NOT NULLпочему-то результатов не дал, столбец появился, но что-то ему еще надо, возможно в еще одной таблице, в mysql я не сильна,к сожалению. Помогите пожалуйста. Вашу помощь оплачу!!!! заранее спасибо!!!
admin
Здравствуйте!
Попробуйте заново обновить virtuemart и virtuemart aio. В Расширения > Менеджер расширений > База данных нажмите Исправить.
Анастасия
спасибо)