Лет ми спик фром май харт май френдс. Если ты здесь, значит, либо уже пробовал OpenCart и были вопросики, либо только собираешься и хочешь понять, во что влип. Расскажу честно, без розовых очков и маркетингового ссанья в уши.
OpenCart - не худший движок на свете и на фоне многих CMS он выглядит весьма вменяемым. Но давай разберём по фактам, чем же он хорош, а что заставляет срать кирпичами или пилить свою сборку, как я.
Что круто
Простая и понятная архитектура
MVC без лишнего шаманства. Модель > Контроллер > Вид - всё на своих местах. Хочешь понять, как работает ядро? Даже мануал не нужен, открываешь три файла и суть ясна. Для меня как разработчика очень важна простота, прямолинейность, гибкость, очевидность. Это кайф после WordPress-хаоса, Joomla-лабиринтов или ужаса 1C Bitrix (не приведи Господь).
Очень гибкая
Можно прикрутить почти что угодно. Хочешь маркетплейс? Мультимагазин? Сайт услуг вместо корзины? Лендинги через layouts? Всё реально, без переписывания ядра с нуля. Точечные правки по делу, с малой вероятностью сломать что-то (модульность не пустой звук) если руки не из жопы и голова на плечах.
Открытый код, бесплатный навсегда
GPL не самая "приятная" открытая лицензия, но лучше "премиум-версий за 500 баксов в год". Скачал, поставил, ковыряй сколько влезет. Сломал, сам рукожоп.
Быстрый и нетребовательный
На shared хостинге летает с 10-15 тысячами товаров (само собой если не 5000 юзеров на сайте одновременно). А если накатить на добротный VPS, есть понимание что такое кэш и как им управлять, 100К товаров не проблема, проверено на практике. Не жрёт 2 ГБ RAM на пустом каталоге, как некоторые "современные" фреймворки. PHP 7.4 до сих пор тянет без проблем - и это плюс, а не минус. Надеюсь ты прагматик, а не тот кто дрочит на последние версии?
Куча готового функционала из коробки
Категории, товары, опции, атрибуты, производители, отзывы, скидки, купоны, мультивалюта, мультиязычность, SEO-URL, sitemap - всё это уже лежит в ядре. Реализация простая и логичная, вносить осмысленные правки, а не костыли поверх заплаток легко и приятно!
Админка по делу
Интуитивная, простая и такая же гибкая для кастомизации, как и каталог. Тут вообще вне конкуренции.
В общем, база крепкая, но...
А теперь про стыдно (и грустно).
Отсутствие очевидных фич, которые тупо должны быть в базе и точка!
Нормальный живой поиск? Нет. Удобные .webp-миниатюры без белых полей? Нет. Сжатие CSS/JS одним кликом? Нет. Кэширование? Нет. Ответы на отзывы? Нет. Программные 301-редиректы при смене URL? Тоже нет. Стикеры? Не в этот раз. Всё это приходится либо пилить руками, либо ставить расширения сомнительного качества. А зачем, если это база?
Оформление заказа
146 полей, UI из 90-х и куча лишнего говна. Клиент устаёт ещё до кнопки «Оформить».
Дефолтный шаблон - грустный до слёз
Bootstrap в целом не лучший вариант, если ты не делаешь дашборды по 40 штук в день, а тут ещё и вёрстка в стиле «лишь бы работало». Цвета, отступы, шрифты, композиция, мобильная адаптация - сплошная халтура спустя рукава.
Зависимость от кучи расширений
Хочешь "нормальный" магазин? Добро пожаловать в ад модулей. Journal, Fastor, UniShop и прочие "темы-монстры" - это по сути CMS внутри CMS. Кастомизация превращается в кошмар. Вместо точечных осмысленных правок борьба с разнузданной фантазией авторов, половина из которых дилетанты.
Короче: из коробки OpenCart - это не готовый юзабельный магазин. Это конструктор DIY, в котором не хватает деталей, а взять их можно от других конструкторов, вопрошая Вселенную о совместимости.
Итог
OpenCart крут своей базой: простой, гибкий, быстрый, бесплатный. Но в дефолтном виде он вызывает стыд и желание всё переписать. Хватит это терпеть!!! Именно поэтому я и запилил exopencart - взял всё хорошее, убрал всё плохое, добавил нужное. Он не идеален, но заментно лучше.
Если ты любящий своё дело веб разработчик, а не презренный скрипт кидди, протестируй сборку, там уже не стыдно. Конструктивная критика приветствуется, issues в репо открыты.