Розробка сайту на 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

Розробка сайту електронної комерції на OpenCart

OpenCart — спеціалізована CMS електронної комерції з відкритим вихідним кодом. На відміну від WordPress + WooCommerce, OpenCart створена виключно для онлайн-торгівлі: всі сутності (товар, замовлення, покупець, склад) є первинними об'єктами системи, а не надбудовами. Це забезпечує передбачувану продуктивність на великих каталогах і мінімальні витрати.

Що отримує клієнт «з коробки»

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/krisla/krislo-ofisne

Етапи розробки сайту

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.

Для CDEK, Укрпошти, інших операторів — розширення з маркетплейсу або кастомна розробка.

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', 'krislo-ofisne-chorne');

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 тижні.