Разработка сайта на CMS OpenCart

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

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

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

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Разработка сайта на CMS OpenCart
Средняя
~1-2 недели
Часто задаваемые вопросы

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

Этапы разработки

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

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Разработка сайта на CMS OpenCart

OpenCart — специализированная e-commerce CMS с открытым исходным кодом. В отличие от WordPress + WooCommerce, OpenCart создан исключительно для интернет-торговли: все сущности (товар, заказ, покупатель, склад) — первичные объекты системы, а не надстройки. Это даёт предсказуемую производительность на больших каталогах и меньший overhead.

Что получает клиент «из коробки»

OpenCart 4.x включает без дополнительных плагинов:

  • Управление каталогом с категориями любой вложенности
  • Варианты товара (опции с влиянием на цену, артикул, вес)
  • Мультисклад (несколько точек хранения)
  • Мультивалютность и мультиязычность
  • Промокоды и подарочные сертификаты
  • Рейтинги и отзывы покупателей
  • Связанные товары и upsell-блоки
  • Управление заказами с историей статусов
  • Базовые отчёты по продажам

Это существенно снижает стоимость старта по сравнению с общими CMS, где каждый из этих модулей — отдельный платный плагин.

Архитектура OpenCart 4.x

OpenCart использует MVC-архитектуру с собственным фреймворком. Структура файлов:

opencart/
├── catalog/          ← фронтенд (витрина)
│   ├── controller/   ← логика страниц
│   ├── model/        ← работа с БД
│   ├── view/         ← шаблоны (Twig)
│   └── language/     ← языковые файлы
├── admin/            ← панель управления
│   ├── controller/
│   ├── model/
│   └── view/
├── system/           ← ядро фреймворка
└── extension/        ← расширения (плагины, шаблоны, шлюзы)

Контроллеры наследуют Controller, модели — Model, маршрутизация — через query parameter route:

/index.php?route=product/product&product_id=123
# С ЧПУ:
/catalog/kresla/kreslo-ofisnoe

Этапы разработки сайта

1. Установка и базовая конфигурация — 2–3 дня

Установка OpenCart, настройка окружения (PHP 8.1+, MySQL 8, Redis), базовая конфигурация:

// config.php (генерируется установщиком)
define('DB_DRIVER',   'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'opencart');
define('DB_PASSWORD', 'secret');
define('DB_DATABASE', 'opencart');
define('DB_PORT',     '3306');
define('DB_PREFIX',   'oc_');

define('HTTP_SERVER',  'https://myshop.by/');
define('HTTP_CATALOG', 'https://myshop.by/');

2. Разработка шаблона — 5–14 дней (зависит от сложности дизайна)

OpenCart 4.x использует Twig как шаблонизатор. Кастомный шаблон создаётся в catalog/view/theme/{theme_name}/:

{# catalog/view/theme/myshop/template/product/category.twig #}
{% extends 'layout/base.twig' %}

{% block content %}
<div class="category-grid">
    {% for product in products %}
    <div class="product-card">
        <a href="{{ product.href }}">
            <img src="{{ product.thumb }}" alt="{{ product.name }}">
        </a>
        <h3>{{ product.name }}</h3>
        {% if product.special %}
            <span class="old-price">{{ product.price }}</span>
            <span class="new-price">{{ product.special }}</span>
        {% else %}
            <span class="price">{{ product.price }}</span>
        {% endif %}
        <button data-id="{{ product.product_id }}" class="btn-cart">
            В корзину
        </button>
    </div>
    {% endfor %}
</div>
{% endblock %}

3. Наполнение каталога — параллельно с разработкой

Импорт из CSV/XML через расширение или прямую вставку в БД:

// Программное создание товара через модель
$this->load->model('catalog/product');

$data = [
    'model'          => 'CHAIR-BLK',
    'price'          => '1499.0000',
    'quantity'       => 25,
    'minimum'        => 1,
    'subtract'       => 1,  // списывать остатки
    'status'         => 1,
    'product_description' => [
        1 => [  // language_id=1 (русский)
            'name'             => 'Кресло офисное Черное',
            'description'      => '<p>Описание товара...</p>',
            'meta_title'       => 'Кресло офисное черное купить',
            'meta_description' => '...',
        ],
    ],
    'product_category' => [5],   // ID категории
    'product_image'    => [      // дополнительные фото
        ['image' => 'catalog/products/chair-side.jpg', 'sort_order' => 1],
    ],
];

$productId = $this->model_catalog_product->addProduct($data);

4. Платёжные шлюзы — 2–5 дней

Встроенные: Bank Transfer, Cheque, COD (оплата при получении), Free Checkout.

Устанавливаемые через Extensions → Extensions → Payment:

  • Для РФ: ЮKassa, Robokassa, CloudPayments, Сбербанк Эквайринг
  • Для BY: Bepaid (bePaid), CloudPayments (BYN), Assist BY
  • Международные: Stripe, PayPal, 2Checkout

Пример кастомного платёжного модуля (структура):

extension/
└── payment/
    └── mypayment/
        ├── admin/
        │   ├── controller/payment/mypayment.php
        │   ├── language/ru-ru/payment/mypayment.php
        │   └── view/payment/mypayment.twig
        └── catalog/
            ├── controller/payment/mypayment.php
            ├── language/ru-ru/payment/mypayment.php
            └── view/payment/mypayment.twig

5. Доставка — 1–3 дня

Встроенные методы: Flat Rate, Free Shipping, Per Item, Weight Based.

Для СДЭК, Почты России, Boxberry — расширения из маркетплейса или кастомная разработка.

6. SEO-оптимизация — 2–3 дня

OpenCart 4.x поддерживает SEO-URL нативно:

Admin → System → Settings → Server → Use SEO URL's: Yes

SEO-URL задаётся для каждого ресурса:

INSERT INTO oc_seo_url (store_id, language_id, key, value, keyword)
VALUES (0, 1, 'product_id', '123', 'kreslo-ofisnoe-chernoe');

Sitemap генерируется через встроенное расширение или отдельный скрипт.

Производительность на больших каталогах

Для каталогов от 10 000 товаров — обязательные оптимизации:

Redis для кеширования:

// system/config/default.php
'cache' => [
    'engine'  => 'redis',
    'host'    => '127.0.0.1',
    'port'    => '6379',
    'timeout' => '5',
    'expire'  => 3600,
    'prefix'  => 'OC_',
],

Индексы БД — OpenCart 4.x имеет базовые индексы, но для сложных фильтров нужны дополнительные:

ALTER TABLE oc_product_to_category ADD INDEX idx_cat_prod (category_id, product_id);
ALTER TABLE oc_product_attribute ADD INDEX idx_attr_val (attribute_id, text(50));

Оптимизация изображений — обязательно через ImageMagick или GD, lazy loading для галереи.

Что требует кастомной разработки

OpenCart хорошо закрывает 80% стандартных e-commerce задач. Нестандартные сценарии, которые требуют разработки расширений:

  • Сложная система лояльности (кешбек, уровни)
  • Интеграция с ERP/WMS системами
  • B2B-функционал (цены по группам клиентов, договора, отсрочка платежа)
  • Конфигуратор продукта с визуализацией
  • Нестандартный процесс оформления заказа

Сравнение с альтернативами

OpenCart WooCommerce PrestaShop
e-commerce из коробки Отлично Требует плагинов Хорошо
Скорость на 10K товаров Хорошая Зависит от плагинов Хорошая
Кастомизация Средняя Высокая Средняя
Экосистема плагинов СНГ Хорошая Отличная Слабая
Порог входа разработчика Низкий Низкий Средний

Сроки реализации

  • Установка + конфигурация + базовая настройка: 2–3 дня
  • Кастомный шаблон (при наличии дизайна): 5–10 дней
  • Импорт каталога + настройка опций: 2–5 дней
  • Платёжные шлюзы (1–2 шлюза): 2–3 дня
  • Настройка доставки: 1–2 дня
  • SEO + sitemap + микроразметка: 2 дня

Типовой интернет-магазин на OpenCart: 2–4 недели.