Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Кто бы знал, как я ненавижу virtuemart! Почему? Сейчас попробую объяснить основные проблемы virtuemart. Очень надеюсь что вы тоже не будете его использовать и рекомендовать другим.
Здесь условие на 500 строк это обычное дело. Классы используются только для объединения функций, ООП в принципе нет (хотя местами чуть-чуть заметно). Если вы до сих пор считаете что там все здорово, то почитайте труды Роберта Мартина Чистый код — просветляет ;)
С версии Joomla 1.5 началось внедрение парадигмы MVC, которое помогает расставить все по своим местам и расписать код так чтобы его легко было поддерживать. Это самый популярный паттерн проектирования, и если вы его не знаете, то не смеете себя называть программистом :).
Так о чем это я... такой красоты кода в virtuemart вы не найдете. Здесь это максимум свой шаблонизатор, который просто отделяет html вывод (и то не весь) от логики.
С первого взгляда все аккуратно, шаблоны деляться на темы, внутри каждой темы есть набор файлов, каждый из которых выводит что-то свое. Все здорово, начинаем с этим работать!
И вот что мою работу превращает в ад:
На некоторых проектах были рекорды по 350 запросов, и это не считая остального сайта. Я бы на это почти закрыл глаза, если бы они были простейшие по ключу.
Но разработчики этого расширений решили показать все свое мастерство в использовании JOIN и прочих объединений, так что запрос в котором данные выбираются из 5 таблиц, при этом выполняются сложные условия в WHERE, пару сортировок и все это по не ключевым полям таблиц — это норма!
Добавим к этому активный онлайн в
Это отдельная история, но очень больная. И так по порядку...
Не то что бы он совсем не настраивается, что-то отключить и включить можно. Но если вам вдруг захочется добавить пару шагов, то будет большая проблема из-за хардкода заказа.
Так что заказ почти что не изменяем.
Как мы уже поняли, расширения VM — это просто патчи. Даже если вы напишите какой-то свой код, который будет, например, работать с корзиной товаров, то программно не получиться добавить новый товар. Или просто написать запрос на выборку из категории товаров по определенному свойству. Придется лезть напрямую в базу данных и писать километровые SQL-запросы.
То что сейчас там есть, это только код для внутренней работы сайта. Ничего для сторонних разработчиков.
Вернее он есть, но очень слабый. Загрузку можно производить только через CSV. При этом нужно очень жестко задавать этот файл. Шаг в сторону — растрел.
На сколько я понял, VM в далеком прошлом сделали из shopScript. Вязли как есть и со скрипом затолкали в Joomla 1.0. До сих пор встречаются комментарии в коде о Shop script’е.
Joomla не стояла на месте и переросла в ветку 1.5, а VM остался поддерживать обе ветки — 1.0 и 1.5. При этом реализация поддержки оставляла желать лучшего. К версии VM 2.0 они собираются исправиться, но судя по тому что я видел в бета версиях, легче станет не на много.
В итоге сейчас VM представляет из себя свалку кода, где только особые программисты Joomla 1.0 могут разобраться, что и куда.
Роутер Joomla это простое но очень эффективное решение для создания SEF ссылок, единого механизма обработки и создания ссылок на сайте.
В VM этого нет! Нет даже банальной привязки к пунктам меню. А как вы знаете, меню — это ключевой момент структуры Joomla сайта.
Я могу назвать еще десяток причин, почему не нужно использоваться virtueMart. Но если вы до сих пор создаете проблемы с помощью него, то могу вам только посочувствовать :(
Если кто-то не согласен с доводами, прошу в комментарии, похоливарим :)
А что, по вашему мнению, стоит использовать в качестве замены?
тоже поддерживаю этот вопрос
Перепробовал различные компоненты - и везде какие-то очень серьезные проблемы всплывают.
Более менее пока держится Tienda, но продукт еще молодой, начинает просить денег за расширенную версию, скудное API. Для чего-то средненького потянет.
Хоть я и не поклонник битрикса (даже наоборот), но в нем одна из самых удачных реализаций магазина. Но минусы у него тоже не слабые (кошмарное качество кода, стоит денег, монстроидальность, убийственные шаблоны). Тем не менее, как показывает практика купить его дешевле, чем сидить и выпиливать что-то свое.
Даже у того же Ubercart Drupal'a шансов больше.
К сожалению большой, серьезный магазин на Joomla - это пока что сказка. В этой сфере она сильно проигрывает другим коробочным продуктам.
Что-то небольшое можно легко сотворить через CCK (например мне удавалось делать интересные решения на Zoo), среднее - Tienda. Но большой проект - нет (или на свой страх и риск).
Даже если у вас получиться сделать что-то серьезное на готовом компоненте Joomla, то поддерживать и развивать это будет крайне сложно и дорого. Думаю в итоге вы потеряете клиента, он просто пойдет и купит битрикс, где все уже основные фишки настраиваются мышкой.
в общем дело хозяйское конечно... под каждые задачи свое решение, и иногда оно находятся в другой CMS. :)
Думаю что если делать полноценный магазин то стоит обратить внимание как вариант из фришных движков на Magento, а так конечно полностью согласен с автором по поводу недостатков VM и то что серьёзную нагрузку он не потянет но свою нишу он нашел и можно сказать застолбил среди интернет минимаркетов ))))
А там где большие масштабы там легче купить а ещё лучше заказать создание движка с нуля...
Вот насчет написать с нуля, это вообще огромная ошибка!
Не нужно изобретать велосипеды. Больше времени потратите на отладку и проектирование, юзабилити...
Это поощряется только в целях самообразования, если уж совсем хочется написать свое, то как минимум используйте фреймворки, например Zend, Yii.
Да пришлось как то ковырять vm это что то адское было... Особенно когда в него лезешь в первый раз так прям глаза разбегаются xD
Полностью согласен с автором! С начала этого года отказался от VirtueMart и перешел на ZOO. Причин в два раза больше, чем перечислено выше, плюс устал каждый день следить за процессом создания VirtueMart 2.0 в development разделе разработчиков.
Конечно на ZOO очень сложно сделать полноценный интернет магазин.
Но я думаю что не за горами когда в ZOO будет полноценная поддержка корзины.
Здравствуйте! А что значит в цифрах небольшой магазин на Zoo и средний магазин на Tienda?
Благодарю
VirtueMart он же ps-shop и Sobi переделан с директории от мамбо и Datso галерея переделанная от мамбо все переделки оказываюсь корявыми ..
скоко потрачено труда и денег на доделки, что можно было ... ну можно помечтать что можно было написать за эти деньги
я как месяц назад начал смотреть на ZOO (жизнь заставила - неординарный макет сайта ) написал корзину покупок к нему - код ZOO чистый понятный
Как-то год назад случайно наткнулся на ЖумЖоп (JoomShopping, http://www.webdesigner-profi.de/joomla-webdesign/joomla-shop.html?lang=en )
Про качество кода не скажу, но MVC имеется. По функциональности меня устроил полностью. Работает быстрее чем VM. Вот сейчас перевожу сайт с J1.5 на J1.7, с VM на ЖЖоп. Спокойно мигрировал с VM. Бесплатных компонент хватает.
Мне нравится.
Увидел твой коментарий поставил! очень порадовался! чтобы сделать шаблон бубен доставать не пришлось! сразу разобрался где что лежит в виртуемарте с бубном плясал не одни сутки прежде чем понять взаимосвязь. + у ЖумЖоп интуитивно понятный интерфейс! правда за интересные модули надо покупать!
и как занулить ЖумЖоп не подскажешь?
Зачем нулить? Вот есть официальное решение http://www.webdesigner-profi.de/joomla-webdesign/shop/license-key.html?lang=en
Ты же интернет-маuаpин делаешь не для благотворительных целей? ;-)
P.S. Меня наличие этой строки совсем не смущает.
Любовь к халяве не отнять. 8))
На самом деле не шибко и беспокоит надпись!
Начал делать интернет-магазин и по началу выбрал virtuemart.
Забил тестовый прайс в 2000 товаров и когда включил отладку челюсть отвисла, на 2к товаров получил 2500 запросов в БД и это без доп.расширений, так что 350 запросов это вы сильно обелили VM. Сраный код это вобще фирменная фишка VM.
Перешёл на вышеописанный JS 2000 товаров = 65 запросов(лёгких, быстрых) и код весь приятно смотреть, с шаблоном разобрался за 3 часа(был табличный), но легко переделать в блочный. Хотя функционала поменьше чем у VM и сообщество совсем маленькое.
Кстати, русское сообщество "тусуется" вот тут http://joomlaforum.ru/index.php/board,361.0.html
Что важно - есть связь с разработчиками.
Спасибо большое за ЖумЖоп =)
Пару недель назад просили помочь с версткой форм VM под дизайн сайта.
Все началось этого:
<div class="vmAttribChildDetail" style="float: left;width:30%;text-align:right;margin:3px;">
<label for="Размер_field">Размер</label>
:
</div>
И закончилось через 2 часа разбора этого треша отказом.
Да ладно, я работаю в вэб-студии. Постоянно делаю магазины на вирте, все нормально, ни кто не жаловался. Может быть вы просто не умеете его готовить?
Очень хочктся почитать мнение автора о новом Virtuemart 2.0. Стоит ли двигаться в сторону VM 2?
Поддерживаю Ивана!
В начале осени, обучаясь на курсе, сделала магазин на платной платформе, но сразу решила, что позже буду делать на отдельном движке. Вот теперь дошли руки, а опыта с корзинными скриптами маловато. Про виртумарт давно слышала разносторонние отзывы, которые настораживают, а тут увидела обсуждение JoomShop, на который совсем недавно наткнулась.
Автор, помогите дилетантам определиться, поделитесь мнением о новой версии ВМ и его конкуренте ЖЖопе.
Заранее спасибо!
Гхм. Делал различные решения до 3 - 5 тыс позиций на виртуамарт. Ведёт себя нормально с кешем джумлы.
Количество запросов на страницу обычно не привышает без кеша: 300. С кешем - укладываемся в 50 - 60.
При этом слишком уж критичных slow query и больших очередей не видно.
Об импорте: есть csvi импорт. Для себя же писал скрипт, который может даже в условиях хостинга выполнять приемлемую синхронизацию (для 3000 товаров, например, съедает 8 метров DDR3 при обновлении, добавлении позиций в своём пике).
Да и хостинг для магазина - это несерьёзно. Если магазин серьёзный.
Jquery + mootools = сколько угодно.
Что куда и где при большой практике понятно.
Модульность начинают вводить, но немножко кривовато.
Платформа, в общем, надёжная, очень критических дыр не имеет.
С шаблонами - всё нормально. Почитав документацию, которой, благо, море, разбираешься легко. Я вообще молчу о примерах.
Количество шаблонов готовых для VM - отдельная песня.
Проблему с чпу и itemid можно решить с помощью CCK k2 (getk2.org) и поста между джумлой и вмартом (правда поплатимся товарами).
MVC - не патотерн, MVC - представление:) Да, согласен, удобно. Но phpshop разрабатывался когда? А здесь - всё заново.
Много хороших расширений. Да и русифицированная поддержка сильная. Чего только стоит joomlaportal.ru?:)
Все переменные отловить легко. Практически просто. Для этого следует просмотреть: administrator/components/com_virtuemart/html/shop_browse_queries.php
В принципе virtuemart является сильным и достойным решением для создания интернет магазина.
Для развития и обновления проекта есть понятие ведения по нему документации. Или, если нет времени, достаточно прокомментировать изменённые куски кода. И вуаля.
(Сам неоднократно обновлял крупные проекты на VM - всё гуд. Обычно обновление занимает 1 рабочий день).
Не настраиваемый заказ - это не понял. Этапы заказа настраиваемые и отключаемые. Можно оформить как на одной странице, так и в несколько этапов. Обычно этого хватает за глаза. Есть списки доп полей. Если нужно расширить профиль покупателя.
Есть вопросы по поводу удобства админки, кое-что желало бы быть проще.
Для себя пришлось конечно дописать: сравнение товаров и т.п.
О сторонних модулях: например, есть замечательные бесплатные модули для вывода товаров (да я и сам себе такое писал): ярким примером является модуль от gavick.com mod_gk_news, который построен на MVC и имеет тучу настроек.
В общем моё мнение: опыт и документация - и VM можно превратить во что угодно.
Проблему с чпу и itemid можно решить с помощью CCK k2 (getk2.org) и поста между джумлой и вмартом (правда поплатимся товарами).
- в смысле моста между джумлой и вмартом (правда поплатимся количеством запросов)
тут про joom shop писали - недавно столкнулся с этим скриптом. ужас! если VM писали, может быть, любители. То большинство кода (особенно "обрадовал" разбор категорий в модуле категорий) пишет "удивительный" программист, который питается исключительно мухоморами. В итоге плюнул на всё и переписал наново с использованием рекурсивного разбора дерева (что, собственно, автору оказалось неведомо).
Видимо задел за живое :) Очень печально что "вебмастеров" так много...
500 запросов в базу для вас не проблема...? я бы на вашем месте постеснялся в таком признаваться... Печально, у себя на работе справляемся 20-50 без кеша (если CMS) и 5-10 если уникальный проект на фреймворке. Кеш используем очень редко.
И на будущее, кеш - это не показатель производительности. Joomla просто сохраняет куски html кода в хранилище (файловое или в память). А мы тут рассуждаем про компонент, а не его кеширование.
По большому счету производительность проекта не должна зависеть от кол-ва данных. на днях делали полнотекстовый(!) поиск по более чем 7млн записей, ~15 полей свойств (не магазин, но чем-то похожее), практически любой запрос обрабатывался менее чем 2-3 сек без кеша. С кешем моментально. Хотинг - localhost, на продуктиве чуть быстрее. Вот это я понимаю производительность ;)
Да мало нам было VM. давайте добьем производительность еще и CCK k2.
Jquery + mootools.. ? А что всего два фреймворка то? Добавьте еще 2-3. По мне так один сайт - один фреймворк.
1 рабочий день обновления?? Вах! Сочувствию вашим клиентам... это что делается за минут 10 на том же битриксе и в фоне (Такая же система в друпале)
MVC - это очень удобная парадигма программирования. Попробуйте например её на Zend или Yii ;)
Модуль на MVC.. ? Вы о чем? Там не должно быть контроллеров и моделей. Только Кусочек шаблона :) Не путайте с компонентом.
Еще не смотрел что там в последнем VM2 натворили, но судя по бета версиям - это был легкий фарш из объектов. НО это уже в разы лучше чем то что есть в версиях 1.x. Тут ничего конкретного не скажу, но желания ковыряться в этом нету... отбила первая версия.
Не совсем понял причем тут русификация, если говорим о удобстве разработки, а не чтения панели управления. Любой нормальный программный продукт должен уметь подстраиваться под разные языки.
В общем бесконечный разговор... попробуйте поработать на нормальном фреймворке (всем рекомендую Zend) и ощутите контраст между тем что напихано в VM и как нужно писать.
Очень сочувствую вам, вашим клиентам и всем кто использует VM... и думает что это вершина. В итоге эти клиенты идут к нам в контору и переделывают сайты очередных "вебмастеров" во что-то, что похоже на магазин (хотя бы на битриксе, друпале).
Ребят, у кого-нибудь есть обзорная статья по VM2? Не хочется лишний раз наворачивать круги вокруг костра.
У меня сайт на Virtuemart http://rsvmoto.com.ua
время загрузки сайта 4.5 сек
запросов 145
это без кеширования Joomla
В принципе знаю что это не лучший вариант для магазина. Но и гнать на него так тупо я тоже не вижу смысла. Тем более если брать Magento то там вообще без ВПС делать нечего.
есть еще у меня сайтик на Joomshoping там намного меньше товара но грузится он намного дольше!
не работает у вас магазин
где это он не работает!?
А чем кешируете сайт? Какой хостинг? VDS? Мой проект на Virtuemart + SH404Sef просто убивает сервер - нагрузка на проц в пиках 200%...
Имею сайт на виртумарте, на сегодня 15 тыс. товаров.
Запросов в базу данных 34, время загрузки страниц 0,5 сек.
Синхронизирован с 1С.
Доработка шаблонов под свои нужду проще простого, если знать где, что лежит, а этой тнформации в инете полно.
Правда, пришлось заплатить за его доработка в плане оптимизации количества запросов, и защиты.
Так что зря Вы так на про виртумарт.
ЖумШоппинг нааамного чище и гибче.
Возможности расширения, и подключения сторонних разаработок просто поражает воображение. Да компонент молодой, но про ВМ и Тиенду просто забыли. Больше ничего пока не надо.
Чистота кода (причем все время чистится от наследий не МВЦ), возможность подключения, удобный собственный инсталятор, простая понятная шаблонизация, построен на Квери.. ну кароче... лучше пробовать, чем парится и разглагольствовать. Те кто говорит что на ВМ проще и нормально, просто пусть сами попробую не предвзято использовать ЖШ для 1 из проектов.. и сами поймете разницу и примите окончательное решение.
То что построен на квери, считаю не есть хорошо.
Могут возникнуть проблемы с отображением у некоторых пользователей, и проблемы совместимости со сторонними модулями.