Как правильно обновить virtuemart 2 и не потерять изменения

Опубликовано: 22 ноября, 2012
Обновлено: 5 февраля, 2023
Категория: Общие вопросы

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

Шаг 1

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

Шаг 2

Бэкап сделан, теперь сделаeм так, чтобы virtuemart брал информацию своих многочисленных шаблонах не из папки /components/com_virtuemart/views, все файлы которой заменяться после обновления, а из папки с шаблоном joomla. Для этого в папке с шаблоном создадим папку html (скорее всего она там уже существует). Внутри папки html создадим папку com_virtuemart.

Шаг 3

Мы будем копировать все файлы из папки /components/com_virtuemart/views в папку /templates/vash-shablon/html/com_virtuemart с полным сохранением структуры но без подпапок tmpl, данные из которых нужно будет перенести в родительскую папку.

Для примера рассмотрим папку /components/com_virtuemart/views/category, внутри которой мы имеем файлы view.html.phpindex.html и папку tmpl.  Значит все файлы из папки tmpl при копировании мы должны положить в папку с файлами view.html.php и index.html. То есть, например файл default.php, который до копирования находился по адресу /components/com_virtuemart/views/category/tmpl/default.php должен быть перемещен по адресу /templates/vash-shablon/html/com_virtuemart/category/default.php.

Шаг 4

Что бы сохранить стили не забываем копировать файлы стилей virtuemart,которые при обновлении так же заменяются. Находятся они в папке /components/com_virtuemart/assets/css. После обновления просто заменяем новые стили старыми и наш снова будет выглядеть как нужно.

Шаг 5

Я кроме файлов шаблона и стилей еще редактировал языковые файлы virtuemart, например в них я менял title главной странице virtuemart. Чтобы не потерять изменения копируем файлы /language/ru-RU/ru-RU.com_virtuemart.ini и /language/en-GB/en-GB.com_virtuemart.ini. После обновления их можно либо перезаписать либо на основе старых файлов отредактировать новые.

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

Хотя обновление оригинала прошло гладко, поэтому не бойтесь экспериментировать, не забывая про бэкап!

Буду рад дополнениям, уточнениям и вопросам.

81 комментарий

    spider

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

    Ильшат

    Пишу чтобы в целом поблагодарить!! Уважаемый администратор данного сайта вы просто золотой человек! Спасибо за все посты, пишите в блок почаще!!! ЕЩЕ РАЗ СПАСИБО!!!!!!!!

      admin

      admin

      Спасибо, постараюсь писать чаще

    David

    Спасибо Вам !

      admin

      admin

      Рад, что статья помогла

    Сергей

    Извините за вопрос не по теме, но не знаю как его решить. Дело в том что в старой версии вирта в списках товара цена подсвечивалась желтым цветом, и это поле было активным, при наведение на которое можно было изменить цену не входя в карточку товара. Как активировать это поле в Виртумарте 2,016, в списке оно просто отображает цену без возможности сиеминутного изменения.
    Спасибо большое за внимание

      admin

      admin

      В vm2 такого не встречал. Возможно есть какой-то плагин или хак... Если найдете поделитесь пожалуйста

    Сергей

    Добрый день!
    нашел решение на этом сайте http://bigemot.ru/portfolio/6-coding/29-vm2price-in-list, в течении трех дней искал на форумах, блогах и тд. Только они одни заметили эту проблему и предлагают решение. Оно имеет вид правки кода и покупного скрипта. Я думаю, дело в том, что разработчики vm2 возможно уповают на плагин типа CSVI для экспорта и импорта цен, но все же изменения цены без экспорта\импорта будет для многих еще очень актуальным.
    П.С. скрипт еще не ставил, как работает сразу отпишу, никак не пополню вебмани для покупки скрипта

    Сергей

    Скрипты и инструкция работают, все как в старом марте и это оч радует, ребята сделали полезное дело. Все работает на последнем марте 2.018
    Все желаю стабильного процветания !

      admin

      admin

      Спасибо и вам того же!

    Эдуард

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

    Игорь

    Добрый день.
    Обновился сегодня до новой версии VertueMart. Обновление прошло удачно. После чего сайт перестал грузится и пишет следующее: Attention: You have still old vm extensions in your joomla installation active, uninstall or disable them/
    Что это может быть за проблема и как ее решить?

      Snake 60

      Если перевести на русский:

      Внимание: У вас все еще активен процесс установки старых расширений VM, удалите или отключите их.

      Так понятней? 😉 Совет, почистить папки temp и cache. Если не поможет удалять все модули/плагины от старых версий VM

      Удачи...

    Snake 60

    В статье то ошибочка 😉

    "То есть, например файл default.php, который до копирования находился по адресу /components/com_virtuemart/views/category/tmpl/default.php должен быть перемещен по адресу /templates/vash-shablon/html/com_virtuemart/views/category/default.php."

    Папки views не должно быть в структуре шаблона

      admin

      admin

      спасибо, действительно ошибка в статье, а на сайтах делал правильно без views 🙂
      статью поправил

    Виктор

    Спасибо, реально помогло!

    lux

    Спасибо друг!!! Сделал все вышеперечисленное за 5 минут и сэкономил себе 2 дня настроек и гемора. В конце выскочило такое сообщение alterColumns alterKey not finished, please rise execution time and update tables again и бла бла бла....Это страшно?

      Адель

      нужно снять блокировки. у меня исправилось как разблокировала все в "обслуживании"

        admin

        admin

        Здравствуйте!
        Уточните какие именно блокировки?

          Адель

          там же где и "очистить кэш". вкладка "снять блокировки". это таблицы заблокированы и наверное он не мог их обновить/изменить и ругался.

    Max

    На самом деле статья поверхностная. Я например менял кучу файлов и не из шаблона, уже даже не помню какие. И вот задача обновить и возникают вопросы, как ???
    Перед нами новая версия Virtuemarta , перед тем как скачивать новый архив, где можно понять какие файлы обновлялись в новой версии ? На офф. сайте где искать?
    Подскажите методику как в таком случае обновить?
    Спасибо.

      admin

      admin

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

      Snake 60

      Берешь программу для сравнения файлов, например AraxisMerge и сравниваешь свой файл с исходником. Находишь что менял, переносишь изменения в новый дистрибутив. Но это дело не одного дня. А вообще программисты говорят "Если программа работает, то и нечего ее трогать" 😉

        Max

        Дело в том что джумлу в последнее время хорошо ломают и виртуалмарт тоже, поэтому с точки зрения безопасности хотелось бы обновить. так то все устраивает по функционалу. БЕЗОПАСТНОСТЬ ВОТ ПРИЧИНА ОБНОВЛЕНИЯ

          Snake 60

          Вот почитай Защита админки да и самой джумлы без всях плагинов.

            Max

            Да спасибо, я таким пользуюсь уже так лет 5, сам допер

            Max

            Но ломают то не через админку а из за дыр

    lux

    ТЕМ У КОГО ПРОБЛЕМЫ С БИБЛИОТЕКАМИ jQuery и MooTools . Делал обновление марта до 2.0.22 (по этой статье), все ок, еще раз спасибо! Решил отписаться для тех кто столкнется с конфликтом библиотек jQuery и MooTools и как минимум получит не работающую кнопку купить, заказать,добавит и тд .Перекопал весь интернет в поисках решений , как правило все ответы вели к вставке функции jQuery.noConflict(); и замене символа $ на jQuery. Мне не помогло. Нашел рекомендацию поставить плаген JQuery Easy кнопка ожила, фрейм подтверждения товара в корзине начал появляться и думал уже победа но не тут то было , вылетел модуль AutsonSlideShow, который раньше работал, вышеперечисленные действия не помогли. Опять перелопатил весь инет и нашел таки решение! Плаген - JB Library Plugin .Настройки интуитивно понятные, так что проблем не возникнет, вроде не грузовой, пока юзаю. все ок .Качнул тут ..Блин , рад , как слон!-) Надеюсь кому то поможет!

      admin

      admin

      спасибо за полезное решение!

    Андрей

    Вопрос такого порядка. Возможны ли сохранения изменений сделанных в админ-части VM2? Знает ли кто ответы по данному поводу. За ранее благодарен.

      admin

      admin

      если я не ошибаюсь настройки в админ панели после обновления сохраняются

        Snake 60

        Настройки - да, но не хаки кода 😉

          admin

          admin

          согласен, хаки никак не сохранить если они сделаны не в шаблонах virtuemart 🙂

    Алексей

    а если проблема с пагинацией, что в таком случае делать?

      Snake 60

      Что за проблема?

        Алексей

        Олег я уже отписал тебе в скайп, что обновление решило прблему

    Катерина

    Я по поводу папок в шаблоне.
    Создала папку html/com_virtuemart/views/productdetails. В ней теперь лежит файл default.php.
    Правлю его (различные изменения по вашим статьям, например, "интеграция JComments" или "Работа с изображениями"), заливаю файл на сервер и... никаких изменений на сайте не наблюдается, как если бы я ничего в файле не меняла.
    На других двух сайтах всё получилось без сучка, без задоринки.
    Подскажите, пожалуйста, в чем может быть проблема.

      admin

      admin

      вы точно создали папку в шаблоне, который используется на сайте?

        Катерина

        Дык... Все глаза уже проглядела. Вроде в нужном месте создала.

        Катерина

        Попробовала закачать измененный файл непосредственно в папку components/com_virtuemart/views/productdetails/tmpl. Изменения пришли в силу. Проблем, кроме неправильного пути, больше не может быть?
        Буду проверять... сотый раз))

    Snake 60

    А мой коммент читали? 😉
    https://virtuemart.su/kak-pravilno-obnovit-virtuemart-2-i-ne-poteryat-izmeneniya/#comment-2484

    Snake 60

    В статье до сих пор ошибка. Володя - не порядок 😉

      Катерина

      Спасибо вам огромное!

      admin

      admin

      Спасибо за напоминание 🙂
      Ошибочку исправил )

    Катерина

    Скажите, пожалуйста, а если я собираюсь изменить следующий файл administrator/components/com_virtuemart/models/customfields.php - это и называется хак? Или можно для него задать переопределение?
    Что-то мне подсказывает - глупый вопрос задала...

      admin

      admin

      Да, это хак
      но нужно учитывать, что все правки, которые вы вносите в файлы в папке administrator/components/com_virtuemart/, при обновлении virtuemart пропадут

        Марина

        А как предотвратить пропажу правок в этом файле при обновлении?

          admin

          admin

          просто скопируйте этот файл на компьютер и после обновления перепишите, но не факт, что все будет правильно работать

    Марина

    Здравствуйте! А как быть с модулями virtuemart, например, mod_virtuemart_product? Обновление касается его? Нужно ли его тоже как-то переносить в папку html шаблона?

      Snake 60

      Если делали какие-либо изменения - то да, нужно... Если не делали, то не нужно... Переносится по тому же принципу.

        Марина

        А можно конкретней? Т.е. в папке html шаблона нужно создать папку mod_virtuemart_product и в нее скопировать все файлы? Или как?

          Snake 60

          Да, вы правы...
          ваш_сайт\templates\ваш_шаблон\html\mod_virtuemart_product\ сюда файлы модуля

    Валерий

    Всем привет. У меня после обновления до версии VM 2.6.0a, появился такой косячёк. Раньше при добавлении товара алиас автоматически менялся на транскрипт, теперь алиас остается на русском. Как это исправить?

      admin

      admin

      Видимо это баг новой версии
      В следующих обновлениях скорее всего его устранят

    surrealistic pillow

    Добрый день. Все делал по инструкции, однако после обновления сайт перестал работать. Главная страница - пустая, раньше на ней был материал и установлены модули товаров virtuemart в определенных позициях, каталог также перестал работать, остальные страницы, не связанные с virtuemart (например мой_сайт/kontakty) отображаются как и прежде. Админка работает.

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

      admin

      admin

      Здравствуйте!
      Компоненты->Virtuemart-aio
      обновите еще все модули virtuemart и таблицы плагина VM

        surrealistic pillow

        при обновлении virtuemart-aio выдает сообщение
        JInstaller: :Install: Не удалось найти XML-файл установки
        Неверный тип пакета. Обновление не может продолжаться.

        surrealistic pillow

        решил проблему, скачал aio с сайта разработчиков и установил вручную

    george007ua

    Доброго времени суток. обновлялся до версии 2.6.6 Все прошло без проблем. Сделал первые три шага. Обновился. все в порядке. Стили и языки локализации не трогало. Видимо хватило мозгов у разработчиков сделать нормальное обновление, с той точки зрения что все люди все равно перетачивают "под себя". Автору за статью огромное спасибо.
    Кстати, ранее писал вопрос здесь: https://virtuemart.su/rabota-s-proizvoditelyami-v-virtuemart-2/ не выводились товары производителя. Обновление Вирта решило вопрос!
    Единственное что слетело, как-то не сообразил, редактировал для Украины список регионов. Если кто помнит какие файлы за это овечают - напишите пожалуйста. надеюсь удастся заменить, потому что уже не помню как это делал.

    Линда

    Добрый день! К
    ак добавить в шаблон папку askquestion? В ней в tmpl и в корне лежат 2 файла form.php, причем разного веса.

    Антон

    После обновления до VM 2.6.6 невозможно посмотреть заявки через админку, выкидывает Internal Server Error. Так же перестал работать метод оплаты картой, выкидывает тоже Internal Server Error.
    В основном ругается на "PHP Notice: Undefined index: BT in /home/carvamru/public_html/administrator/components/com_virtuemart/views/orders/view.html.php" по многим строчкам, и на другие переменные, которые зависят от BT.

    Не подскажете куда копать? и есть ли шанс восстановить работоспособность?

    Антон

    Таблицы плагина VM обновлял.

    seo-west.com

    зачем такая морока с css файлами, каждый раз их перезаливать, лучше сразу тоже в папку шаблона скинуть, или я не прав?

      admin

      admin

      правы

    Виктория

    Добрый день, уважаемый admin!
    Возникла такая проблема. Перенесли сайт на другой хостинг. Теперь, если я захожу в описание товара, то категории то отображаются, то не отображаются как-будто их там вообще нету! Что это вообще может быть?
    Заранее спасибо.

      admin

      admin

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

        Виктория

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

          admin

          admin

          попроьуйте заново зайти во все категории и сохранить их

            Виктория

            К сожалению не помогает, не знаю, что с этим делать...

    Денис Скрипник

    Здравствуйте. Обновил компонент следующим способом: 1. Скачал архив с официального сайта. 2. Распоковал. 3. Через менеджер установки установил каждый из двух архивов. 4. Перешёл в virtuemart-aio, чтобы обновить таблицы, но появилась пустая страница с адресом. Что это может быть и можете ли вы разобраться с этой проблемой за плату? Благодарю.

      admin

      admin

      Здравствуйте!
      сам сайт после обновления работает?

    Константин

    Есть желание дополнить статью по созданию своего шаблона для VirtueMart.
    Все модули VirtueMart также необходимо перенести (скопировать) из папки modules в корень папки html шаблона все важные для Вас модули.
    Как пример модулей:
    mod_virtuemart_product
    mod_virtuemart_manufacturer
    mod_virtuemart_category
    mod_virtuemart_cart

    Всё аналогично переносу шаблона компонента.

    Если коротко - модули переносим также как и шаблон компонента,
    в html и без внутренней папки tmpl.

    Удачи всем и благодарю Админ за ресурс 😉

      admin

      admin

      Спасибо за дополнение!

    Денис Скрипник

    Да.

      admin

      admin

      Значит все в порядке, волноваться не о чем

    Адель

    Могли бы Вы обновить мне vm и сохранить предыдущие модификации? И сколько бы это стоило?

    У меня после проделывания этих манипуляций некорректно отображаются товары в категории + висит с чего-то popup в виде картинок товаров, сама не справлюсь.

      admin

      admin

      Здравствуйте!

      Я планирую статью по обновлению virtuemart до 3-й версии
      Обновлением на заказ я не занимаюсь

    Евгений

    Добрый день!
    Во-первых хочу сказать огромное спасибо за сайт и за информацию, выложенную на нем. Я только делаю свои первые шаги в VirtueMart и данный сайт мне во многом помогает. Вижу что он живой и, при необходимости, я смогу здесь проконсультироваться. Ладно, перейдем от лирики к тому как я обновлялся, может кому-то и поможет не опустить руки и не бояться этого. Идея обновиться появилась после того, как не получилось русифицироваться (во многих местах админки оставались английские надписи + кое-где проскакивает перевод в виде COM_VIRTUEMART_ADMIN_CFG_FEED_LATEST_NB), а так как я уже целую неделю!!! пользуюсь данным движком, то почувствовал себя "профессионалом", способным на все, даже обновление))). Обновлялся с версии 2.0.22с сразу на 2.6.10. По шагам:
    1. Проделал все, что описано выше (даже во всех комментариях).
    2. При нажатии "Обновить" в админке писалось что максимальная доступная версия 2.6.6, но и она не устанавливалась по причине "XML файл не обнаружен". Те советы, которые нашел в сети для исправления данной проблемы не помогли, поэтому решение было в виде скачивания с официального сайта версии 2.6.10 и установки ее вручную. Сайт превратился просто в белый экран.
    3. При заходе в компоненты AIO ничего не изменилось. Писалось, что установленная версия 2.0.22с, а рекомендуемая 2.6.6. Кнопка обновить не срабатывает. Решилось так же скачиванием с официального сайта AIO нужной версии, установкой и обновлением таблиц.
    Сайт заработал, но некоторые изменения, которые я не знаю как исправить все же остались:
    1. В каталоге поплыли стили. Какой именно файл стилей за это отвечает не знаю. Пробовал вернуть старые файлы стилей, но ничего не меняется.
    2. Видимо из-за разницы версий слетели табы (вкладки) при отображении товаров.
    3. Просто пока не могу найти. В старой админке была галочка "отображать товары на главной", а здесь такая есть?
    4. Русского языка в админке стало больше, но все равно не везде.

    ПС В дополнение к инструкции. После копирования файлов из папки tmpl, саму папку tmpl удаляйте, иначе после обновления будут выскакивать ошибки.
    Простите за большой комментарий. ВСЕМ удачных обновлений!!!

      admin

      admin

      Здравствуйте!

      1. Если Вы вносили изменения в /components/com_virtuemart/assets/css/vm-ltr.css то при обновлении он заменился.
      2. Табы могут не работать из-за конфликта скриптов шаблона с новым virtuemart. Попробуйте этот способ создания табов.
      3. Virtuemart > Настройки > Шаблоны область Настройки главной страницы VirtueMart.
      4. Скачайте и установите русификатор http://virtuemart.net/community/translations/virtuemart/ru-RU

        Евгений

        1. Перед обновлением полностью данную папку сохранил, а после обновления все файлы в ней переписал на те, которые были до обновления. Сейчас проделал ту же операцию через полное удаление папки - не помогло.
        2. Предложенный способ для третьего марта, а у меня 2.6.10. Попробую другой, описанный Вами раннее. Просто думал что это можно вылечить с помощью каких-нибудь настроек.
        3. У меня нет такого поля. Может оно называться стало по другому. В старой версии было "не отображать каталог на главной".
        4. Спасибо. Повторная установка русификатора помогла.

          admin

          admin

          1. Просмотр кода элеменат(F12 в Хроме). Можно посмотреть в каком файле находится стиль для каждого элемента на странице.
          2. Можно сделать и на vm2. Только нужно будет подключить bootstrap.js
          3. Это не отдельное поле, а область

Комментарии закрыты

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×