Чем же так хорош OpenCart, а что заставляет краснеть и стыдливо прятать глаза


147

Лет ми спик фром май харт май френдс. Если ты здесь, значит, либо уже пробовал 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 в репо открыты.


Написать комментарий
Введите код с картинки