Virtuemart 2.0 — обзор возможностей

Virtuemart 2.0 — обзор возможностей изображение поста

Итак, приступим к обсуждению – а стоит ли спешить переходить с версии 1.1.9 на версию 2.0 (попутно меняя joomla 1.5 на 2.5). И посмотрим, чего же новенького нам сможет предложить virtuemart 2.0. Что же нового нас ожидает во второй версии и ее преимущества по сравнению с первой?

Изменения в установке Virtuemart 2.0

Установка стала проще. Весь магазин разделен на два пакета: 1 пакет – сам магазин com_virtuemart.[версия].tar.gz, 2 пакет – все модули и плагины были собраны в единый установочный пакет com_virtuemart.[версия]_ext_aio.tar.gz (all in one).

Изменения в файлах шаблонов Virtuemart 2.0

Наконец-то в шаблонах магазина присутствует хоть какой-то порядок. И нам больше не нужно идти сначала в папку /components/com_virtuemart/themes, а затем в папку /administrator/components/com_virtuemart/html, попутно еще исправляя что-то в /administrator/components/com_virtuemart/classes, нам не нужно запоминать 30-40 названий файлов, и искать по строчкам кода по всем папкам virtuemart.

То же касается и модулей. Наконец-то они получили собственные полнофункциональные шаблоны, а не включение вывода html путем include файлов из папки /administrator/components/com_virtuemart/html. Теперь шаблоны модулей находятся в папке tmpl самого модуля, а шаблоны самого virtuemart находятся в папке /components/com_virtuemart/views, соответственно имея вполне понятные названия видов согласно их функциям.

И наконец-то начала работать та самая замечательная возможность, которая позволяет одновременно сохранить измененный шаблон (переопределить шаблон самого магазина и его модулей в папке шаблона сайта /templates/ваш шаблон/html/com_virtuemart/название нужного вида/файл нужного вида/templates/ваш_шаблон/html/название вашего модуля virtuemart/файл нужного вида.

Теперь можно внести нужные изменения в дизайн Вашего магазина и вынести их в шаблон сайта, и свободно обновить модули и сам магазин. И даже сделать несколько совершенно разных шаблонов одного и того же представления, которые можно потом легко выбрать и для модуля (в поле Макет), и для отдельных страниц категорий (выбрав другое оформление Страницы просмотра категории, Страницы карточки товара при редактировании категории в Virtuemart 2.0), товаров и т.п.

Изменения в чпу Virtuemart 2.0

Наконец-то! можно увидеть вполне человеческое ЧПУ. В одной из версий, по-моему с 1.1.6 и выше, создатели virtuemart уже попытались добавить router.php, но этот роутер был просто ужасен, а те ссылки, которые он генерировал, приводили любого сеошника в полное уныние и вызывали отчаянье. В Virtuemart 2.0 наконец-то добавили систему коротких ссылок – альясов/псевдонимов.

Согласитесь, что ссылка koltsa/kolco_s_kristallami_svarovski_15032-detail.html дает полное представление о том, что мы находимся на странице детального описания товара «Кольцо с кристаллами Сваровски». И является вполне информативной. К тому же все настройки ЧПУ и роутера были вынесены в панель администрирования.

А использование совместно с компонентом «Перенаправлений» в Joomla 2.5 делает бесполезными сторонние sef компоненты для virtuemart, такие как sef 404 и artio joomsef, избавляя от той чудовищной нагрузки и глюков с дублями одних и тех же страниц с разными адресами в ЧПУ, которыми приходилось платить ранее за нормальное ЧПУ для virtuemart 1.1.

Удобное построение пунктов меню для Virtuemart 2.0

Благодаря тому, что Virtuemart 2.0 написан на mvc joomla, то работа с меню стала более приятной. Теперь можно легко создать короткие красивые ЧПУ ссылки на категории магазина, на отдельные его товары, или же на корзину, на производителя, или на список заказов, на учетную запись, или на поставщика, даже на главную страницу магазина или условия предоставления услуг поставщика.

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

Многоязычность и Virtuemart 2.0

С Joomla 2.5 к нам пришла многоязычность, которая наконец-таки действует нормально (не будем вспоминать о костылях в виде неудобного joomfish для joomla 1.5). Virtuemart 2.0 поддерживает ее, только вот ее настройки немного не поняты и не удобны. То есть virtuemart 2.0 сам по себе не определяет, какие языки используются в системе для построения мультиязычного содержимого, и требует точного дополнительного указания этих языков в настройках.

И тогда, и только тогда он создаст нужные таблицы для этих языков, в которых он будет хранить данные товаров/категорий/поставщиков и т.п. на данном языке. Это добавит проблем, особенно при установке quickstart на одном языке вместе с предустановленным и настроенным virtuemart 2.0 и добавления другого языка может привести к множеству ошибок в работе virtuemart 2.0.

Ведь еще нужно зайти в настройки самого магазина в панели управлениякомпоненты – virtuemart – вкладка Настройки – настройки – Языки, поддерживаемые магазином и добавить нужный язык (ищется по названию, начните набирать в текстовом поле, а потом выберите из предложенного выбора). Дальше нажать Сохранить в верхнем правом углу.

Таблицы будут созданы, но, и это странно, товары и категории на другом языке скопированы не будут. Всю работу по заполнению придется выполнить вручную. Также текстовые переменные были наконец-то вынесены в language .ini файлы, и их константы теперь можно также переопределить через механизм переопределения языковых констант joomla 2.5.

И еще хорошая новость, в большинстве своем virtuemart 2.0 «переехал» на класс JString при работе со строковыми функциями в php, а означает нормальную поддержку utf-8 и русского языка, ибо в virtuemart 1.1 приходилось время от времени подчищать глюки по типу знаков вопроса при обрезке по длине текстовых строк или искать причину «крякозябр».

Система обновлений в Virtuemart 2.0

Да, Joomla 2.5 порадовала нас системой обновлений. И в virtuemart 2.0 эта фишка работает. Теперь virtuemart 2.0 сам заранее оповестит Вас о новой версии и предложит обновиться. Причем virtuemart 2.0 предложит обновиться как и на страницах панели управления при входе, или же в панели администрирования самого компонента, сообщив внизу левого столбца о вновь вышедшей версии.

Также к системе обновлений теперь добавлены файлы, иллюстрирующие изменения в шаблонах графически (доступны в соответствующем разделе на сайте virtuemart), которые происходят от версии к версии, в основном это дополнение кода, исправление ошибок в файлах, которые были вынесены в шаблон для обновления вручную. И советую их соблюдать во избежание лишних глюков, если Вы переопределяете файлы шаблонов или модулей virtuemart в Вашем шаблоне в папке virtuemart/html.

Работа с медиа файлами и изображениями в Virtuemart 2.0

Здесь все просто здорово. Помните, как в virtuemart 1.1 было трудно добавить 3-4-5 изображений к одному товару? Это был просто панический ад – если требовалось внести много изображений за один раз.

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

Свойства товара. Типы товара. Похожие/связанные товары

Здесь все довольно интересно. Что хорошего: наконец-то объединили типы товаров и их свойства в единое целое и вынесли в группу дополнительных заполняемых для товара полей. К определенному свойству можно указать дополнительную цену в зависимости от выбора, можно сформировать свойство корзины, и настроить свойства подобно типам в virtuemart 1.1 (выпадающий список, текст, поле поиска или подбора).

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

А где же фильтры по свойствам в Virtuemart 2.0?

А вот здесь вышла промашка. Они в зачаточном состоянии. Стандартные фильтры для virtuemart 2.0 неудобны до ужаса. Механизм добавления свойств к списку товаров на лету не организован и вовсе. Это вызывает массу неудобств, например, при поиске товаров по определенному списку свойств/их значений.

Да, есть хорошая реализация фильтров от galt cherry picker – сам модуль фильтра и fast seller – который позволяет налету к огромному списку товаров добавить множество характеристик, но они стоят денег и требуют модификации кода virtuemart. Да еще и придется делать эту модификацию раз за разом при обновлении Virtuemart 2.0 до следующей версии, остальные же решения либо громоздки при заполнении свойств, либо вызывают больше головной боли, чем от них пользы.

Плагины и Virtuemart 2.0

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

Рефакторинг кода в Virtuemart 2.0

Наконец-то отказались от поддержки joomla 1.0. Давно пора. Код собран в классы и переписан на mvc joomla с соблюдением его условий, virtuemart стал дружественнее и для верстальщика, и для разработчика приложений, и для web мастера.

Наконец-то избавились от дополнительного префикса для таблиц virtuemart, используя только стандартный префикс joomla 2.5. Хотя до сих пор удивляют стандартные обертки вокруг функций joomla 2.5. Но, красиво жить и мыслить по-другому разве ж запретишь?

Загрузка товаров из CSV в Virtuemart 2.0?

Честно, для этого есть очень удобная продвинутая разработка, называющаяся CSVI Import, которая позволяет из подготовленного формата csv загрузить в магазин на virtuemart 2.0 все, что угодно: категории, товары, медиа файлы, свойства и многое – многое другое.

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

Нагрузка на базу данных в Virtuemart 2.0?

А вот здесь все стало еще печальнее. Включаем ЧПУ, отключаем кэширование, переходим на страницу категории, где находится 30 товаров на страницу, 10 – 15 страниц с товарами в постраничной навигации, и список категорий в левом столбце, плюс еще пару стандартных модулей от virtuemart 2.0.

Включаем отладку, и что же мы видим? Как там говорит «Сват Иван Бутько» : Етитская Богомышь. 450 – 500 запросов на страницу. Причем, честно говоря, когда смотришь на эти запросы, где каждый из разработчиков соревнуется, кто сделает больше объединений таблиц и проявит больше знаний в JOIN, вложенных друг в друга SELECT, применения конструкций IN, IN SET, DISTINCT и т.п.

Такое ощущение, что они что-то курят, а потом пишут лишнюю сотню запросов к mysql. Причем там, где лучше сделать несколько простых запросов без объединений, возникает один сложный, а там где пару десятков однотипных объединить в один (да еще и проверить, а может результат уже где-то встречается по соседству?) — все наоборот.

Из личного опыта: есть в строю два совершенно разных магазина на virtuemart 2.0, один несколько раз пытались закрыть за излишнюю нагрузку без кэша на базу данных (300 – 400 товаров, до тысячи посетителей в сутки), второй в процессе запуска с 6 тысячами товаров, пока нареканий не было от хостинг компании.

Кэш в Virtuemart 2.0?

Двойственное ощущение. С кэшем все хорошо. Кэширует классно. Но он еще нормально не работает. Идет версия 2.0.18 а, но кэш до сих пор глючит и не обеспечивает нормальную работу магазина. А это значит — нагрузка отзывается на плечах хостинга в полной мере. Или же магазин изобилует мелкими (а иногда и не очень, например, как было описано мною ранее о глюке кэша и пагинации в категориях) глюками. Что не дает использовать магазин в полной мере эффективно и с наименьшей нагрузкой.

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

Мелкие недоработки, глюки Virtuemart 2.0

Их полным полно, так как, по сути то, магазин новый в плане кода. Это Вам не старая отработанная стратегия многолетнего труда над php shop, который потом портировался на joomla, это действительно нечто новое, свое собственное.

Самые серьезные глюки успешно устраняются сообществом, и вносятся в bug листы разработчиков, исправляясь от версии к версии (больше двух версий в месяц). Множество еще не реализовано, и не настолько удобно, как хотелось бы. Но все еще в процессе, работа, так сказать, кипит.

Готовые шаблоны для Virtuemart 2.0?

Их неимоверное множество, начиная от template monster, оканчивая десятками студий вэб-дизайна, например: gavickpro, joomla art предлагают шаблоны с собственным framework, обеспечивающими вид под мобильные устройства всего лишь за скромную плату, при этом они выполняют периодические обновления и предоставляют поддержку этих шаблонов, плюс бонусом в подарок написано много модулей и плагинов, предлагающих разнообразные возможности.

Недостатки Virtuemart 2.0

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

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

Выводы

Стоит ли обновляться от virtuemart 1.1 до virtuemart 2.0, использовать Virtuemart 2.0 для создания магазина? Virtuemart 2.0 стал намного удобнее. Вряд ли здесь я рассмотрел все удобства или недостатки данного магазина в сравнении с предыдущей версией 1.1, лишь постарался представить то новое, что попалось на глаза при создании магазинов на Virtuemart 2.0. Магазин стал удобнее и действительно стоит обновиться с версии 1.1 к версии 2.0.

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

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

Комментарии