Magento

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Magento
Magento.png
Тип

система управления интернет-магазинами

Разработчик

Magento Inc.

Написана на

PHP

Операционная система

кроссплатформенное программное обеспечение

Последняя версия

1.9.0.1 (15 мая 2014)

Альфа-версия

2.0 (alpha 91) (18 августа 2014)

Лицензия

Open Software License 3.0

Сайт

magento.com

Magento на Викискладе

Magento — самая популярная система управления интернет-магазинами в мире на апрель 2014 года[1].

На Magento работают многие крупные и известные интернет-магазины.

Компания-разработчик Magento была куплена компанией eBay за $180 млн. в 2011 году[2].

Содержание

Крупные и известные магазины, работающие на Magento[править | править вики-текст]

За рубежом[править | править вики-текст]

В России[править | править вики-текст]

В Украине[править | править вики-текст]

История разработки Magento[править | править вики-текст]

В мае 2007 года началась разработка.[62]

31 августа 2007 года вышла первая публичная ознакомительная версия (0.6.12383).[63]

21 марта 2008 года вышла первая стабильная версия (1.0).[63]

В мае 2009 года вышла первая версия Magento Enterprise Edition.[63]

В 2010 году компания-разработчик сменила название с Varien на Magento, по имени своего единственного продукта.

В феврале 2011 года вышла первая версия Российской сборки Magento.[64]

В июне 2011 г. компания Magento Inc. была приобретена компанией eBay Inc..[65]

В настоящее время компания Magento ведёт активную работу (промежуточные релизы — каждую неделю[66]) над Magento 2.

История версий Magento Community Edition[править | править вики-текст]

Версия Дата выпуска Примечания
Preview B1 0.6.12383 31 августа 2007 г.
1.0 31 марта 2008 г.
1.1.1 24 июля 2008 г.
1.1.2 1 августа 2008 г.
1.1.3 13 августа 2008 г.
1.1.4 2 сентября 2008 г.
1.1.5 15 сентября 2008 г.
1.1.6 17 сентября 2008 г.
1.1.7 19 ноября 2008 г.
1.1.8 26 ноября 2008 г.
1.2.0 29 декабря 2008 г.
1.2.0.1 30 декабря 2008 г.
1.2.0.2 12 января 2009 г.
1.2.0.3 23 января 2009 г.
1.2.1 2 февраля 2009 г.
1.2.1.1 23 февраля 2009 г.
1.2.1.2 3 марта 2009 г.
1.3.0 30 марта 2009 г.
1.3.1 17 апреля 2009 г.
1.3.1.1 19 мая 2009 г.
1.3.2 29 мая 2009 г.
1.3.2.1 1 июня 2009 г
1.3.2.2 1 июля 2009 г.
1.3.2.3 22 июля 2009 г.
1.3.2.4 23 сентября 2009 г.
1.3.3.0 23 апреля 2010 г.
1.4.0.1 19 февраля 2010 г.
1.4.1.0 10 июня 2010 г.
1.4.1.1 26 июля 2010 г.
1.4.2.0 8 декабря 2010 г.
1.5.0.1 9 февраля 2011 г.
1.5.1.0 26 апреля 2011 г.
1.6.0.0 18 августа 2011 г.
1.6.1.0 19 октября 2011 г.
1.6.2.0 11 января 2012 г.
1.7.0.0 24 апреля 2012 г.
1.7.0.1 20 июня 2012 г.
1.7.0.2 5 июля 2012 г.
1.8.0.0 25 сентября 2013 г.
1.8.1.0 11 декабря 2013 г.
1.9.0.0 13 мая 2014 г.
1.9.0.1 15 мая 2014 г.
2.0 (alpha 90) 12 августа 2014 г.
     устаревшая версия
     текущая версия
     будущая версия

Архитектура Magento[править | править вики-текст]

Базовые технологии[править | править вики-текст]

PHP — основной язык программирования Magento.

Magento — единственная из популярных систем управления интернет-магазинами, основанная на стандартном, общеупотребительном фреймворке (в случае Magento это — Zend Framework[67]). Разработка на основе общеупотребительного фреймворка снижает затраты на привлечение к проекту новых сотрудников[67], в том числе и при внедрении Magento.

Для хранения учётной информации Magento использует cистему управления базами данных MySQL[68].

Сильной стороной Magento, в отличие от некоторых других популярных систем управления интернет-магазинами (например, OpenCart[69]), является использование подсистемы хранения данных InnoDB, которая позволяет применять транзакции и внешние ключи для поддержания целостности данных.

Особенности реализации модульности[править | править вики-текст]

Magento — единственная из популярных систем управления интернет-магазинами, которая позволяет изменять реализацию любого класса (и метода) ядра без правок программного кода ядра. Эта функциональность обеспечивается несколькими ключевыми технологиями:

Виртуальные имена классов[править | править вики-текст]

Для создания экземпляров классов в Magento используется не реальное имя класса PHP, а виртуальное имя. Например, для создания объекта-товара вместо вызова

new Mage_Catalog_Model_Product()

используется вызов

Mage::getModel('catalog/product')

По умолчанию виртуальному имени «catalog/product» соответствует реальное имя класса PHP «Mage_Catalog_Model_Product», однако посредством файла XML сторонний модуль может привязать свой класс PHP к виртуальному имени «catalog/product», например:

<config>
    <global>
        <models>
            <catalog>
                <rewrite>
                    <product>Df_Catalog_Model_Product</product>
                </rewrite>
            </catalog>
        </models>
    </global>
</config>

Резервные области программного кода[70][править | править вики-текст]

Вторая технология обеспечения модульности: поддержка резервных областей программного кода. В Magento 4 области программного кода: «lib», «core», «community», «local». В англоязычной терминологии Magento область программного кода называется «code pool».

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

Другими словами, если файл с программным кодом класса расположен одновременно в областях «core» и «local», то система будет использовать файл из области «local».

Наблюдение за объектами[править | править вики-текст]

Третья базовая технология обеспечения модульности в Magento — возможность наблюдения за объектами и классами объектов посредством подписки на определённые события, происходящие с этими объектами и классами объектов. Например, модуль «Накопительная программа» Российской сборки Magento наблюдает за событием размещения покупателем в интернет-магазине нового заказа, чтобы начислить покупателю бонусные баллы:

<config>
    <frontend>
        <events>
            <sales_order_place_before>
                <observers>
                    <df_reward>
                        <type>singleton</type>
                        <class>df_reward/observer</class>
                        <method>processBeforeOrderPlace</method>
                    </df_reward>
                </observers>
            </sales_order_place_before>
        </events>
    </frontend>
</config>

Когда покупатель размещает в интернет-магазин свой заказ, то перед обработкой этого размещения модуль ядра Mage_Sales оповещает наблюдателей о событии «sales_order_place_before»:

Mage::dispatchEvent('sales_order_place_before', array('order'=>$this));

В частности, будет вызван метод «processBeforeOrderPlace» класса «df_reward/observer».

Редакции Magento[править | править вики-текст]

Magento Community Edition[править | править вики-текст]

Magento Community Edition — основная, самая популярная редакция Magento. Это единственная бесплатная редакция.

Magento Enterprise Edition[править | править вики-текст]

Magento Enterprise Edition — это платная редакция, выпускаемая компанией Magento. Magento Enterprise Edition содержит в себе все функции Magento Community Edition и сверх этого содежит набор дополнительных модулей, которые, как правило, предназначены для крупных интернет-магазинов (в частности, инструменты маркетинга для крупных магазином).

Российская сборка Magento[править | править вики-текст]

Российская сборка Magento — это адаптированная для России и СНГ редакция Magento, выпускаемая сторонним разработчиком. Российская сборка Magento содержит в себе все функции Magento Community Edition и сверх этого содежит набор дополнительных модулей, которые, как правило, предназначены для интернет-магазинов России и СНГ (интеграция с 1С:Предприятие, местными службами доставки, банками, платёжными системами, сервисами Яндекса). На Российской сборке работает около 200 магазинов [71].

Устаревшие редакции[править | править вики-текст]

Magento Go[править | править вики-текст]

Magento Go — это бывшая редакция Magento, работавшая по модели SaaS. В настоящее время эта редакция прекратила существование[72].

Magento Professional Edition[править | править вики-текст]

Magento Professional Edition — это бывшая редакция Magento, выпускавшаяся компанией Magento и занимавшая промежуточное положение между Magento Community Edition и Magento Enterprise Edition: Magento Professional Edition содержала в себе все функции Magento Community Edition и сверх этого содежала часть модулей из Magento Enterprise Edition. В настоящее время эта редакция прекратила существование.

Возможности Magento[править | править вики-текст]

Многосайтовость[73][править | править вики-текст]

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

Причём Magento допускает разные варианты реализации многосайтовости[73], например:

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

Многоязычность и локализация[править | править вики-текст]

Magento позволяет интернет-магазину иметь многоязычную витрину и административную часть. На витрине многоязычность может работать одним из следующих способов:

  • магазин автоматически определяет язык посетителя и отображает ему витрину на данном языке
  • посетитель сам выбирает язык интерфейса
  • администратор создаёт несколько витрин на разных языках для одного и того же каталога товаров (благодаря возможности многосайтовости)

Локализация Magento обеспечивается совместным использованием следующих средств:

  • Языковые пакеты Magento. Содержат переводы всех текстовых строк, которые встречаются в стандартном интерфейсе витрины и административной части. На официальном сайте Magento опубликованы языковые пакеты для многих языков. Российская сборка Magento уже содержит свой индивидуальный языковой пакет для русификации.
  • Пакеты локализации из Zend Framework. Magento использует стандартные пакеты локализации из Zend Framework для настройки форматирования дат, валют и т.п.
  • Языковые пакеты оформительских тем. Содержат переводы нестандартных текстовых строк, которые встречаются только в данной конкретной оформительской теме.
  • Языковые пакеты модулей. Содержат переводы нестандартных текстовых строк, которые встречаются только в данном конкретном модуле.
  • Инструмент для интерактивного перевода витрины. Позволяет администратору временно включить для витрины специальный режим, в котором он, зайдя на витрину, может интерактивно переводить те или иные строкип ользовательского интерфейса. Magento сохраняет эти переводы в базу данных, и затем использует их при отображении витрины в обычном режиме.
  • Многосайтовость: возможность для каждой локали создать отдельную витрину со своими текстами, экранными блоками и административными настройками

Интеграция с внешними учётными системами[править | править вики-текст]

Magento способна работать как веб-сервис[74]. Это позволяет внешним информационным системам через интернет подключаться к Magento и программно делать всё то, что способен сделать администратор Magento вручную посредством административного интерфейса:

  • выборку учётных объектов (товары, заказы и т.п.) по заданным критериям
  • добавление и редактирование учётных объектов
  • получение аналитической информации
  • изменение настроек интернет-магазина
  • и т.п.

Веб-сервис Magento поддерживает следующие протоколы:

Использование прикладного программного интерфейса (API) требует квалификации программиста. В то же время имеются сторонние готовые модули для интеграции Magento с популярными учётными системами, в том числе с популярными в России и СНГ системами 1С:Предприятие[77] и МойСклад[78].

Панель администратора[источник не указан 108 дней][править | править вики-текст]

  • Маркетинговые инструменты
    • Многоуровневое ценообразование
    • Купоны
    • Правила ценообразования
    • Возможность организации распродаж
    • Настройка оптовых скидок
  • Отчеты
    • Отчеты продаж
    • Отчет по корзинам покупателя
    • Отчет о списке отмеченного товара
    • Отчет об Отзывах
    • Отчет по Тегам
    • Отчет по Поиску
  • Определение налоговых ставок
    • Определение правил для региона, страны или почтового кода.
    • Создание классов налога, например «Нормальный» или «Оптовый»
    • Определение правил налога, например «Налог на одежду», также можно связать различные группы товаров с классами налогов.
  • Продукты и каталог
    • Возможность задания различных атрибутов (свойств) для товара.
    • Группировка товара в комплекты.
    • Конфигурируемые продукты — продукты с выборочными свойствами (например цвет, размер и т. д.)
    • Сортировка товара по предопределенным атрибутам. Атрибуты доступные для сортировки определяются в панели администрирования.
  • Система управления контентом
  • Группы покупателей
  • Импорт/Экспорт (В данный момент импорт товаров работает в ограниченном варианте, возможно внесение товаров, но не обновление)
  • Система контроля доступа

Возможности фронт-энда[источник не указан 108 дней][править | править вики-текст]

  • Предложение покупателям товара в нагрузку (сross-sales)
  • Предложение покупателям сопутствующих товаров
  • Поисковая оптимизация (SEO)
  • Связь с покупателем
    • Сообщения по электронной почте
    • Новостная рассылка по электронной почте
  • Доставка по нескольким адресам
  • Поиск
  • Сравнение продуктов
  • Пошаговая фильтрация
  • Теги для продуктов
  • Отзывы покупателей о товарах
  • Список желаний
  • Оформление заказа
  • Корзина покупок
  • Аккаунты покупателей
  • Рекомендация товара одним покупателем другому
  • Проведение опросов среди покупателей
  • Предложение покупателям бесплатной доставки

Валюты[источник не указан 108 дней][править | править вики-текст]

Управление валютными курсами в Magento
  • Можно вести учёт (складской и управленческий) в одной валюте, а цены на витрине показывать в другой
  • Можно назначить разным витринам разные валюты ценников
  • Можно дать посетителям возможность переключаться между валютами
  • Можно настроить обновление валютных курсов по расписанию
  • Настройки отображения валют определяются текущей локалью посетителя (используется библиотека Zend Locale[79]).

Возможности поисковой оптимизации[источник не указан 108 дней][править | править вики-текст]

Стандартная сборка Magento:

  • Даёт полный контроль над разметкой HTML. Имеется возможность установки индивидуального шаблона HTML для конкретного товара или товарного раздела.
  • Позволяет для каждой страницы (товара, раздела или текстовой) задавать индивидуальные мета-теги description и keywords.
  • Позволяет для каждого товара и товарного раздела задавать индивидуальное и настраиваемое окончание адреса (URL Key).

По умолчанию адрес страницы товара (раздела) заканчивается на название товара (раздела) транслитом с символом дефиса в качестве разделителя слов. Существует сторонний модуль, который меняет стандартное поведение и даёт страницам товаров короткие адреса. Это упрощает продвижение сайта в социальных сетях.

Поисковая оптимизация товарных изображений[источник не указан 108 дней][править | править вики-текст]

Magento при создании страниц витрины описывает товарные изображения атрибутом ALT тега IMG. Администратор для каждого товарного изображения может либо вручную указать описание, либо позволить Magento описать товарное изображение автоматически, используя название товара.

Импорт и экспорт данных[источник не указан 108 дней][править | править вики-текст]

Импорт производителей и других справочников посредством Magento DataFlow

Для импорта и экспорта данных предназначена технология Magento DataFlow. Стандартная сборка Magento включает несколько стандартных профилей Magento DataFlow:

  • Импорт и экспорт товаров
  • Импорт и экспорт товарных остатков на складах
  • Импорт и экспорт покупателей

Для программиста Magento DataFlow - удобная объектно-ориентированная библиотека, которая позволяет программисту писать собственные модули импорта и экспорта. В частности, имеются сторонние модули Magento DataFlow для импорта товарных разделов (товарной иерархии), импорта производителей, импорта произвольных справочников.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Распределение рынка между системами управления интернет-магазинами на апрель 2014 г.
  2. eBay Acquired Magento For Over $180 Million
  3. [1] смотрите раздел «Ecommerce»
  4. Описание проекта интернет-магазина Ford Accessories «For this project we completely redesigned the Ford Accessories website utilizing Endeca and Magento services.»
  5. Резюме Максимо Ярошенко с описанием внедрения Magento в интернет-магазине Ford «This project implemented a highly customized version of the Magento ecommerce platform to allow Ford dealers to sell accessories to their customers. The project featured integrations spanning more than six teams and is the largest build-and-deploy implementation completed by Magento to date.»
  6. 1 2 Magento Customer Success Story: Rovio Entertainment Ltd.
  7. [2] смотрите подвал страницы: «eCommerce Software by Magento™»
  8. Olympus – Magento Enterprise
  9. Финансовая информация Olympus Corp
  10. Nike Australia: Customer Success Story
  11. The Gap launches ecommerce in China on Magento
  12. Gap Inc. Annual report 2013
  13. Раздел «О компании» на сайте GANT «In 2013, brand sales for GANT amounted to MSEK 9,000.»
  14. [3] «In 2008, led a team to re-build Fox Home Entertainment's Commerce foundation (FoxConnect.com) from the ground up on Magento platform that led Fox to expand ecommerce into B2B and achieve 849% YoY growth in FY2011.»
  15. [4] смотрите раздел «Ecommerce»
  16. Финансовые результаты Lindt в 2013 году
  17. [5] смотрите раздел «Ecommerce»
  18. Информация о журнале «Men's Health» на сайте его издательства «Men’s Health is the world’s largest and best-selling men’s magazine with 47 editions in 61 countries and a global readership of more than +35 million.»
  19. [6] смотрите раздел «Ecommerce»
  20. VF Reports 2013 «The North Face® brand passing $2 billion in global revenues»
  21. Featured Magento ecommerce website – Tom’s Shoes & Eyewear
  22. Exclusive: Bain Capital to invest in shoemaker TOMS - sources «Private equity firm Bain Capital LLC has agreed to acquire a 50 percent stake in TOMS Shoes Inc in a deal that values the company, which makes casual footwear known as alpargatas, at about $625 million including debt, according to people familiar with the matter.»
  23. [7] смотрите раздел «Ecommerce»
  24. [8] смотрите раздел «Ecommerce»
  25. [9] смотрите раздел «Ecommerce»
  26. Раздел «О компании» на официальном сайте Dick Smith «Our retail sales put us in the top three with revenue in excess of $1.3 billion in FY2013.»
  27. [10] смотрите раздел «Ecommerce»
  28. Статья «DC Expanding into JCPenney» «DC had revenue for its year ended in October of $545 million, up 15% from the year-ago period.»
  29. [11] смотрите раздел «Ecommerce»
  30. Финансковая информация Breville Group Ltd смотрите раздел «Annual Revenues - BREVILLE GROUP LTD (BRG)»
  31. [12] смотрите раздел «Ecommerce»
  32. Финансковая информация Kathmandu «The New Zealand-based company, which reports in NZ dollars, reported a 10.6% increase in sales revenue to NZ $384 million.»
  33. [13] Административная часть магазина Ашан на Magento
  34. Технологии сайта Ашан «Используемые технологии: Magento (version Enterprise)»
  35. Groupe Auchan - Presentation «0n 30/06/2014, Groupe Auchan operates in 16 countries, employs 302 500 people (on 31/12/2013, average payroll, FTE) and generated in 2013 €62.1 in revenue including taxes for the chains.»
  36. Статья газеты «Ведостости» о деятельности Ашана в России «Гипермаркеты «Ашан» лидируют по выручке в своем формате в России.» Читайте далее: http://www.vedomosti.ru/companies/news/25401611/ataka-supermarketami#ixzz3B0yIpAIu
  37. A showscase/list of the biggest eCommerce websites run on Magento
  38. [14] «lamoda.ru — Magento»
  39. http://www.vedomosti.ru/companies/news/12989371/blavatnik_primeryaet_lamoda
  40. [15] «Technology: Magento eCommerce»
  41. «Ашан» меняет формат
  42. [16] смотрите раздел «Ecommerce»
  43. Annual Report 2010. Mothercare. Проверено 25 апреля 2011.
  44. [17] смотрите раздел «Ecommerce»
  45. [18] смотрите раздел «Ecommerce»
  46. [19] смотрите раздел «Ecommerce»
  47. http://www.huawei.com/en/about-huawei/corporate-info/financial/index.htm
  48. [20] «butik.ru — В данный момент переводят на MagentoCommerce(FrontEnd) и на Yii(BackEnd)»
  49. Вакансия программиста Magento в butik.ru «...опыт веб-разработки в e-commerce области (Magento)»
  50. [21] смотрите раздел «Ecommerce»
  51. [22]
  52. [23] смотрите раздел «Ecommerce»
  53. Описание проекта «Изолюкс» «Принципиальным условием Клиента было использование Magento eCommerce Platform.»
  54. Раздел «О нас» на сайте Изолюкс
  55. [24] смотрите раздел «Ecommerce»
  56. Интервью директора украинского представительства Magento Евгения ШЕвченко «У нас появились как клиенты, так и официальные партнёры, занимающиеся разработкой для Magento. <...> Из больших компаний я могу назвать, к примеру, Comfy, которые сделали свой магазин через нашего партнёра.»
  57. Досье компании Comfy на Forbes Украина
  58. [25] смотрите раздел «Ecommerce»
  59. Админка Allo.ua
  60. Топ-15 интернет-компаний Украины смотрите раздел «2 // Allo.ua»
  61. [26] смотрите раздел «Ecommerce»
  62. Интервью с компанией Varien (Magento)
  63. 1 2 3 Архив версий Magento
  64. Архив версий Российской сборки Magento
  65. eBay Agrees to Acquire Magento
  66. https://github.com/magento/magento2/commits/master История версий Magento 2
  67. 1 2 Magento™ creates huge success with enterprise e-commerce platform & community built on Zend Framework
  68. http://magento.com/resources/system-requirements Официальные системные требования Magento
  69. http://www.techchattr.com/never-use-opencart Why you should never use opencart
  70. http://magento-forum.ru/topic/4579/ Как найти класс Magento по его имени?
  71. Перечень магазинов на Российской сборке Magento
  72. Important announcement about Magento Go and ProStores
  73. 1 2 Overview: How Multiple Websites & Stores Work
  74. 1 2 Magento API
  75. Описание программного интерфейса Magento REST
  76. Описание программного интерфейса Magento XML-RPC
  77. Обмен данными Magento с 1С:Управление торговлей
  78. Обмен данными Magento с МойСклад
  79. Zend Framework: Documentation: Zend_Locale - Zend Framework Manual

Ссылки[править | править вики-текст]