Разработка сайта на Magento / Adobe Commerce

Когда SaaS-платформы перестают справляться с нагрузкой, а кастомизация упирается в ограничения API, наступает время для Magento. Мы разрабатываем enterprise-магазины на Magento и Adobe Commerce, решая задачи любой сложности — от мультисайтов до тысяч атрибутов. Наша команда реализует проект под ключ, обеспечивая стабильную работу и последующую поддержку.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Разработка сайта на Magento / Adobe Commerce
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

Разработка сайта на Magento / Adobe Commerce

Отметим: когда SaaS-платформы перестают справляться с нагрузкой, кастомизация упирается в ограничения API. В таких случаях пора смотреть в сторону Magento. Мы проектируем и запускаем enterprise-магазины на этой платформе. Решаем задачи высокой сложности: мультисайт с единой инсталляции, тысячи атрибутов и кастомные бизнес-процессы. За 7 лет мы реализовали 20+ проектов — от небольших магазинов до крупных маркетплейсов с миллионами товаров.

Magento 2 даёт полный контроль над кодом и архитектурой. Вы не ограничены шаблонами и плагинами сторонних разработчиков. Это особенно важно для проектов с уникальными бизнес-требованиями, например, сложная система скидок или интеграция с нестандартным API.

Magento Open Source vs Adobe Commerce

Выбор редакции зависит от масштаба, необходимых модулей и бюджета. Open Source не требует лицензионных отчислений, что даёт экономию до 70% по сравнению с Adobe Commerce. Обе платформы имеют сильные стороны, и мы поможем подобрать оптимальный вариант.

Характеристика Magento Open Source Adobe Commerce
Лицензия MIT (бесплатная) Коммерческая
Хостинг Self-hosted Self-hosted или Cloud
B2B-модуль Нет Встроен
Page Builder Базовый Расширенный
Staged Content Нет Есть
Customer Segments Нет Есть
Live Search Нет Есть (SaaS)
Product Recommendations Нет Есть (AI-based)
Adobe Experience Cloud Нет Интеграция

Для большинства проектов Open Source даёт всё необходимое. Adobe Commerce оправдан при B2B-сценариях с сложным ценообразованием, персонализацией или интеграцией с Adobe Analytics.

Почему стоит перейти на Magento 2?

Magento 1 перестал получать обновления несколько лет назад. Magento 2 полностью переписан: использует PHP 8, Dependency Injection, Plugin System, гибкий GraphQL API. Производительность выше благодаря Varnish, Redis, Elasticsearch — страницы с кешированием загружаются в 10 раз быстрее. Модульная архитектура позволяет добавлять любую функциональность без взлома ядра.

Рекомендованные версии компонентов

Компонент Версия
PHP 8.1–8.3 (оптимально 8.2)
MySQL/MariaDB 8.0 / 10.6
Elasticsearch/OpenSearch 8.x / 2.x
Redis 7.x
RabbitMQ 3.11+
Nginx/Apache 1.24+ / 2.4
Varnish 7.x (опционально)
CPU (dev/prod) 4 / 8 cores
RAM (dev/prod) 8 / 16 GB
Полный список системных требованийMagento 2 требует PHP 8.1–8.3, MySQL 8.0 или MariaDB 10.6, Elasticsearch/OpenSearch, Redis, RabbitMQ для очередей. Минимально 4 CPU и 8 GB RAM для разработки, для продакшена — 8 CPU и 16 GB RAM.

Техническая реализация

Архитектура модульной системы

Magento построен на модулях. Каждый модуль располагается в app/code/Vendor/Module/ и содержит:

  • Block/ — PHP классы для представления (устаревает)
  • Controller/ — обработчики HTTP-запросов
  • etc/ — конфиги: module.xml, di.xml, routes.xml, events.xml
  • Model/ — бизнес-логика
  • Plugin/ — interceptors (before/after/around)
  • Observer/ — подписка на события
  • Setup/ — установочные скрипты и data patches
  • view/frontend/ — layout XML и phtml-шаблоны

Dependency Injection и Plugin

Вместо new — инъекция через конструктор. В di.xml задаются предпочтения и плагины:

<preference for="Magento\Catalog\Model\Product" type="MyCompany\Catalog\Model\Product"/>
<type name="Magento\Catalog\Model\ResourceModel\Product\Collection">
    <plugin name="mycompany_catalog_collection_plugin" type="MyCompany\Catalog\Plugin\ProductCollectionPlugin" sortOrder="10"/>
</type>

Пример плагина с after-методом:

namespace MyCompany\Catalog\Plugin;

use Magento\Catalog\Model\ResourceModel\Product\Collection;

class ProductCollectionPlugin
{
    public function afterLoad(Collection $subject, Collection $result): Collection
    {
        foreach ($result as $product) {
            $margin = ($product->getPrice() - $product->getCost()) / $product->getPrice() * 100;
            $product->setData('margin_percent', round($margin, 2));
        }
        return $result;
    }
}

Кастомный атрибут продукта

Data patch добавляет атрибут "Срок доставки (дней)" без изменения ядра:

// Setup/Patch/Data/AddProductAttributes.php
namespace MyCompany\Catalog\Setup\Patch\Data;

use Magento\Framework\Setup\Patch\DataPatchInterface;
use Magento\Catalog\Setup\CategorySetupFactory;

class AddProductAttributes implements DataPatchInterface
{
    public function __construct(
        private readonly CategorySetupFactory $categorySetupFactory,
        private readonly \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup,
    ) {}

    public function apply(): void
    {
        $setup = $this->categorySetupFactory->create(['setup' => $this->moduleDataSetup]);
        $setup->addAttribute('catalog_product', 'delivery_days', [
            'type' => 'int',
            'label' => 'Срок доставки (дней)',
            'input' => 'text',
            'required' => false,
            'visible' => true,
            'user_defined' => true,
            'searchable' => false,
            'filterable' => false,
            'comparable' => false,
            'visible_on_front' => true,
            'used_in_product_listing' => true,
            'unique' => false,
            'apply_to' => '',
        ]);
        $setup->addAttributeToSet('catalog_product', 'Default', 'General', 'delivery_days');
    }

    public static function getDependencies(): array
    {
        return [];
    }

    public function getAliases(): array
    {
        return [];
    }
}

GraphQL API Magento

Для headless-фронта используем встроенный GraphQL:

query GetProduct($urlKey: String!) {
  products(filter: { url_key: { eq: $urlKey } }) {
    items {
      id
      sku
      name
      price_range {
        minimum_price {
          regular_price {
            value
            currency
          }
          final_price {
            value
            currency
          }
          discount {
            amount_off
            percent_off
          }
        }
      }
      ... on ConfigurableProduct {
        configurable_options {
          label
          values {
            label
            uid
          }
        }
        variants {
          attributes {
            label
            uid
          }
          product {
            sku
            stock_status
            price_range {
              minimum_price {
                final_price {
                  value
                }
              }
            }
          }
        }
      }
    }
  }
}

Типичный стек разработки

composer create-project --repository-url=https://repo.magento.com/ \
    magento/project-community-edition=2.4.7 my-magento
bin/magento setup:install \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=secret \
    --base-url=https://magento.local/ \
    --admin-firstname=Admin \
    --admin-lastname=User \
    [email protected] \
    --admin-user=admin \
    --admin-password=Admin123! \
    --language=ru_RU \
    --currency=RUB \
    --timezone=Europe/Moscow \
    --use-rewrites=1 \
    --search-engine=opensearch \
    --opensearch-host=localhost \
    --opensearch-port=9200
# После изменений
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy ru_RU en_US -f
bin/magento cache:flush

Пошаговая инструкция: создание кастомного модуля

  1. Создайте директорию app/code/Vendor/Module/etc/ и файл module.xml.
  2. Объявите зависимости в composer.json и registration.php.
  3. Определите маршруты в routes.xml.
  4. Реализуйте Controller, Model, Block по необходимости.
  5. Добавьте di.xml для плагинов или предпочтений.
  6. Запустите bin/magento setup:upgrade для установки.

Что входит в работу

При заказе разработки Magento-проекта под ключ мы предоставляем:

  • Архитектурное проектирование: выбор модулей, настройка инфраструктуры, конфигурация Varnish/Redis/Elasticsearch
  • Разработка кастомных модулей и расширений с полной документацией в формате README
  • Интеграция с внешними системами: ERP, CRM, 1С, маркетплейсы
  • Настройка мультисайта и store view
  • Оптимизация производительности: кеширование, CDN, minification
  • Деплой с CI/CD (GitLab/GitHub Actions)
  • Техническая поддержка после запуска (с гарантийным периодом)

Сроки

Запуск магазина на Open Source с готовой темой и стандартным набором модулей — от 4 до 8 недель. Кастомная разработка с несколькими модулями и интеграцией с ERP — от 3 до 6 месяцев. Adobe Commerce с B2B-модулем, персонализацией и интеграциями — от полугода. Точные сроки оцениваем после аудита ваших требований.

Получите консультацию инженера по вашему проекту — мы оценим объём работ и предложим архитектурное решение. Наш опыт: более 7 лет разработки Magento, 20+ запущенных магазинов. Свяжитесь с нами для обсуждения ваших задач.

По данным Adobe, более 250 000 магазинов работают на Magento.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060