Pull to refresh

Почему Magento?

Reading time 5 min
Views 162K

Платформа Magento eCommerce уверенно завоевывает популярность. На habrahabr уже было несколько упоминаний о ней. В этой статье я хочу описать некоторые моменты когда Вам стоит выбрать платформу Magento.






Хостинг


Magento Commerce не будет работать на простом shared хостинге. Разработчики рекомендуют устанавливать 256Мб оперативной памяти доступной скрипту. Минимально желательным размером является 64Мб, но будьте готовы что без включенного кеша большая часть страниц грузиться не будет.
Так же обратите внимание на cpu лимит хостинга. В моей практике были случаи когда сайт отключили из-за нагрузки на процессор более 3%. При этом за день на сайт заходило не более 15-25 человек.
Хостинг который сможет вытянуть простой магазин на Magento, с посещаемостью 20-50 человек в сутки, стоит около 70$/год. Специализированные хостинг планы для Magento стоят в районе 20$/месяц. Магазин на таком тарифе работает достаточно шустро, без проблем вытягивает посещаемость порядка 300 человек/день.

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

hostmonster.com стоимость порядка 70$/год (25 пользователей, 30минут)




nic.ru тариф 201 — ~110$/год (50 пользователей, 30минут)





1gb.ru, тариф VZ-1 ~130$/год (50 пользователей, 30минут)





ngx.nl ~ 300$/год (25 пользователей, 30минут)




Рынок продаж


Magento разрабатывается украинской командой разработчиков, но методы оплаты и доставок рассчитываются на западный рынок (Европа, США и т.д.). Коробочная версия включает слейдующие методы оплаты: оплата через Credit Card, PayPal, Authorize.net, Payflow Pro, оплата чеком, банковский перевод. Кроме тогда интеграция с большинством западных платежных систем доступна в виде бесплатных расширений.
Если Вам необходима поддержка WebMoney придется покупать платное расширение (бесплатных аналогов нет). Для «Яндекс денег» расширения я не нашел.

Для русских магазинов реальная возможность использовать только методы оплаты: «Наличными при получении», «Банковский перевод». Но для этого придется дополнительно объяснять каждому клиенту как произвести оплату и периодически проверять поступление денег на счет.



По умолчанию доступны следующие методы доставки: Table rates, Flat Rate, Free shipping, UPS, USPS, FedEx, DHL. С данным вопросом ситуация чуть лучше, дополнительно можно установить бесплатные расширения — «Local Pickup», «Multiple tables rate» — которые в большинстве случаев покрывают требования магазина. Например используя «Multiple tables rate» можно дать пользователю возможность выбора требуемого способа доставки и региона. В зависимости от выбора формировать стоимость. Например сформировать такую таблицу:



Так же следует отметить отсутствие интеграции с 1C, что для некоторых клиентов является достаточно необходимым фактором. В защиту можно сказать, что Magento не поддерживает(в коробочной версии), не одной подобной интеграции — имеется импорт/экспорт csv файлов с списком категорий и продуктов.

Локализация


Как и в предыдущем пункте, перевод на русский язык оставляет желать лучшего. Пакет локализации необходимо будет скачать с официального сайта, этот пакет находится в бете, процесс завершенности порядка 90%. Правда в недрах форума можно найти пользовательскую локализацию, тут ситуация немного лучше. Но в любом случае придется дополнительно производить замену ряда сообщений. Так же пользователю придется поменять все html шаблоны стандартных писем. Таких писем порядка 35.

Встроенный функционал


Одна из сильнейших сторон Magento это обширный встроенный функционал — то что Вы получаете после установки магазина. Установив магазин вы получите следующие возможности:
  • Множество валют
  • Многоязычность
  • Множество сайтов на одной системы
  • Скидки/купоны
  • Отчеты
  • Отмеченные товары
  • Ограничение доступа
  • И другое

Полных список возможностей можно посмотреть на wikipedia



В тоже время, это и недостаток. Если часть функционала на frontend не нужна, разработчику придется постараться что бы его отключить (об этом подробнее ниже)

Разработка


Magento является достаточно сложной системой основанной на базе Zend Framework. Для работы с динамическим содержимым используется фреймворк Prototype, а не знакомый большинству jQuery (для подключения которого придется неплохо постараться). Так же, Magento не используется классический патерн MVC. Для генерации страниц используется набор следующих элементов: Controller, Model, Block, View. Таким образом, загрузить напрямую страницу шаблона из контроллера у Вас не получится. Для генерации страниц помимо стандартных phtml файлов с шаблонами, используются xml файлы, определяющие какие блоки включаются в текущую страницу.
Исходя и вышесказанного — если Вам необходимо сделать уникальный шаблон для магазина, на базе разработанного дизайнером psd файла, необходимо будет привлекать помимо верстальщика еще и программиста. Будьте готовы заплатить серьезную сумму разработчику для привязки дизайна.
Для примера, когда я только начал знакомиться с Magento, передо мной стояла задача произвести привязку достаточно непростого дизайна. В общей сложности на создание темы (без дополнительных расширений) у меня ушло порядка трех недель. Сейчас сложную тему можно привязать за 1-2 недели. Простую тему в районе трех дней. Правда, были прецеденты что сверстанный дизайн простой темы привязался за один день. Конечно есть более простой вариант купить готовую тему на http://www.templatemonster.com/.
Рассмотрим простой пример. Нам необходимо отключить отображение блока «Compare Products». Что бы убрать этот блок придется произвести изменение в приблизительно 5 различных xml файлах. В тоже время magento позволяет включить отладочную информацию — отображение пути к шаблонам для каждого блока, но увы не показывает в каком xml файле можно его отключить.



Но, в тоже время, используя лишь модификацию шаблонов можно реализовать магазин с уникальным требуемым функционалом.
Magento отличается очень высокой степенью расширяемости. Фактически любую возможность магазина можно переопределить, подменить файлами разработчика. И внимание, для этого не надо переписывать исходных код движка! Для любой модели, блока можно создать «rewrite» и заменить его собственным. Для контроллеров можно активировать перенаправление путей запроса. Кроме того используя event observer для большинства ключевых действий можно добавить произвольный функционал. Использование стороннего кода, не затрагивающего core файлы, позволяет осуществлять безболезненное обновление к новым версиям magento.

Суммируя пункт разработка — при создании дополнительных расширений для Magento, для привязки дизайна, будьте готовы выделить серьезную сумму. Разработчиков знакомых с этой системой, еще не очень много. А те кто работают с ней имеют много заказов и серьезную стоимость часа работы.



Юзабилити


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


С frontend частью стандартного магазина не все хорошо. Согласно большинству отзывов часть оформления заказа сложна для пользователя (придется пройти через 5 шагов).


Есть выход, купить готовое расширение которое упросит оформление заказа. Кроме того, за счет обширного функционала пользователи могут не добиваться поставленных целей. Но, как я уже говорил выше, можно весь не нужный функционал отключить и оставить непосредственно только часть магазина.
Tags:
Hubs:
+11
Comments 114
Comments Comments 114

Articles