Приветствую вас, хаброюзеры!

Эххх, давненько я здесь не появлялся и не писал… А, тем временем, жизнь идёт, все меняется, в том числе и мой любимый eCommerce, для которого постоянно появляются новые инструменты.
За всё время работы в данной нише (а это более 5 лет) я перепробовал массу движков, как opensource, так и коммерческих: Magento, Битрикс, Insales, OpenCart, Shop-Cart, Simpla, Zen Cart и тд. И вот, к чему я пришёл…

Во-первых, готовые продукты (CMS наши любимые), когда речь идёт о запуске стандартного магазина в сжатые сроки без особых требований заказчика и непониманий, что такое ТЗ и зачем оно, — это хорошо.

Я не буду сейчас говорить обо всех 50 оттенках ощущений (иногда их бывало и больше), которые испытывают праведные разработчики при виде кода некоторых PHP CMS (как самых распространённых на сегодняшний день), когда их нужно кастомизировать. Это отдельная тема для разговора…

Если не вникать в технические подробности, CMS – отличный инструмент, который позволяет экономить время при разработке и удовлетворять 90% желаний среднестатистических заказчиков, оставаясь при этом в плюсе как по времени, так по финансам и нервам.

Во-вторых, я не люблю opensource.

Как поступают новички: скачал себе дистрибутив, поковырял, дополнил такими же opensource аддонами или написал сам – сайт вроде готов, но от такого веет «сделано на коленке» за версту.

Такой выбор обусловлен кажущейся простотой – пара-тройка модулей и шаблон, если решения действительно годные, а сроки горят.

И, в-третьих, чем больше сталкивался с историями коллег, тем больше разочаровывался в этом занятии. И в большинстве разработчиков, работающих с opensource. Причём, иногда это разочарование касается не только самих продуктов, но и вообще opensource CMS, а иногда и жизни. Думаю, многим знакомо это чувств.

В итоге, если в начале своей карьеры я с откровенным презрением относился к коммерческим движкам, то, после приобретения вышеописанного опыта, стал иногда задумываться об их использовании и даже применять на отдельных проектах, надеясь отыскать среди них ту самую «серебряную пулю» для безболезненной реализации извращений заказчиков и борьбы с недостатками opensource.

Поэтому в данной статье я хотел бы поделиться с вами своим опытом работы с одним из таких продуктов под названием CS-Cart, с которым мне довелось столкнуться в последнее время.

Как ни странно, познакомиться с этим движком вынудил Битрикс. Просто потому, что клиент очень хотел масштабируемый движок, а Битрикс я недолюбливаю еще с прошлого опыта. Пошел смотреть, какие есть альтернативы на данный момент. Тут он и привлек мое внимание, т.к. занимал стабильное второе место вслед за Битриксом.

Поскольку он стоил даже дешевле необходимого дистрибутива детища 1С (24 500 российских рублей за CS-Cart против 35 900 за Битрикс), то добро было получено, т.к., как выяснилось, моему клиенту в результате было всё равно на платформу, как это обычно и бывает.
Главное, что CMS позволяла воплотить все его «хотелки» в жизнь максимально быстро и без лишних телодвижений с моей стороны.

Чем же меня привлёк CS-Cart?

Это всё моё, родное


Во-первых, как выяснилось, это отечественный продукт с богатой историей (на рынке с 2005 года) и отличной русскоязычной документацией, подкреплённой массой видеоуроков. Причём, многие видео встроены прямо в админку CS-Cart на страницах, где их просмотр принесёт пользу конечному пользователю:



Низкий порог входа

Отдельного слова заслуживает раздел документации для разработчиков (естественно, на русском), в которой подробно описывается файловая и структура кода самой CMS, модулей и тем, стандарты разработки дополнений, принципы организации REST API и многое другое.
При таких условиях разобраться с CS-Cart моим разрабам труда не составило. Причём, это касается как интерфейса админки, так и кода.

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

Кастомизируй меня полностью

Поскольку клиент мне попался, как я уже сказал, стандартный, то ещё одним его обязательным требованием была возможность самостоятельных правок внешнего вида витрины.
Нужно было править как структуру страниц, так и текст отдельных текстовых блоков и надписи на контролах.

И здесь меня CS-Cart снова отлично выручил, т.к. из коробки у него оказались доступны все необходимые инструменты.

Во-первых, знакомый работавшим с WordPress визуальный редактор основных элементов темы, в котором при изменении стилей витрины результаты мгновенно отображаются на экране, не применяясь на самом деле без сохранения правок:



Редактор контента реализует также популярный во многих CMS принцип click-to-edit и выглядит так:



Для изменения структуры элементов страниц имеется также очень похожий на WP Visual Composer инструмент, позволяющий конструировать макеты страниц самому, добавляя новые элементы и перемещая существующие:



Ну, и наконец, у движка имеется режим дизайнера, позволяющий изменять исходный код шаблонов движка, ответственных за определённые структурные элементы интерфейса. Работает он так:



Кроме перечисленного, в CS-Cart также имеются визуальные редакторы шаблонов email-рассылок и документов, которые можно использовать как в письмах, как и на информационных страницах.

Не дай маркетологам засохнуть


Ещё одной хотелкой моего клиента был целый набор маркетинговых инструментов. Помимо упомянутых email-рассылок требовались ещё SEO-настройки как сайта в целом, так и отдельных страниц, акции, бонусы, баннеры, показ незавершённых покупок, заказ в один клик. В общем, полный фарш.

И в этом моменте CMS меня также безумно порадовала, т.к. у него всё это имеется в наличии. Причём, из коробки, а не за счёт установки модулей сомнительного качества, как это происходит на opensource платформах.

По поводу расширения функционала у данной CMS всё стандартно: для функциональных возможностей существуют модули, которые работают на системе хуков, а не костыльного vQmod/ocMod, проклинаемого OpenCart-разработчиками, и графические темы.

Расширений, правда, не так много, как у opensource движков, т.к. создают их немногочисленные партнёры CS-Cart, а не кто попало :-) Но, зато можно быть уверенным в их качестве кода благодаря строгой модерации, да и понадобятся они лишь в экстренных случаях, т.к. большинство необходимых функций доступно по умолчанию.

Помимо всего перечисленного у этого движка из коробки идёт ещё много всего интересного вроде входа через социальные сети с помощью всем знакомого oAuth, ведение блога, массовая загрузка товаров, синхронизация с Яндекс.Маркет и т.д., которым я не стал уделять много времени ввиду невостребованности в рамках описываемого заказа, поэтому я не стал сильно углубляться в их настройки.

Что не понравилось?


CS-Cart оказался хорош. Настолько хорош, что частенько притормаживал у меня на локальном компе, который не отличается особой производительностью. Причём, я говорю сейчас о навигации по витрине и выполнении типичных пользовательских действий в Интернет-магазине.
Т.е. точно так же он будет тормозить и у большинства, если вы не поотключаете лишние модули и не арендуете сервер (лучше, конечно, выделенный) помощнее.

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

Вторым недостатком лично для меня оказалась достаточно высокая цена лицензии (благо, что она хотя бы пожизненная) – 24500 российских рублей за базовый вариант и 36000 за дистрибутив с более прокачанной темой витрины UniTheme (отдельно стоит 200$) и дополнительными модулями.

Дополнения также являются достаточно дорогостоящими (от 20$ и до 600$ за отдельные модули и темы), но, опять же, повторюсь, понадобятся они вам нечасто.
Ну, и последнее, что мне пришлось не по душе – это некоторая техническая и моральная отсталость самого движка.

В то время, как в современном IT мире вовсю продвигаются идеи SPA и изоморфных веб-приложений, у CS-Cart до сих пор банально неадаптивная админка (даже на адаптивной витрине не пахнет ни Bootstrap, ни другими фронтэнд-фреймворками). Никаких тебе js-фреймворков и клиенского рендеринга, только jQuery, только хардкор.

Однако CSS стили пишутся с применением LESS-пропроцессора, что уже неплохо.
На бэкенде также нечем поживиться: стандартный стэк PHP (стабильно работает и на 5.6 и на 7.2) + MySQL.

Движок самописный, однако код хорошо структурирован за счёт MVC и применения шаблонизатора Smarty для составления вьюх, так что разобраться и поддерживать его не составит труда.

Таким образом, с одной стороны, работа с CS-Cart в плане профессионального роста серьёзным профитом не пахнет. Но, с другой, – это отличный вариант для начинающих разработчиков благодаря подробной документации и низкому порогу входа из-за используемого технологического стэка, который, к тому же, позволит быстро справляться с заказами, оставляя время на самообразование.

А для бывалых – хорошая возможность запускать масштабные eCommerce проекты в достаточно сжатые сроки.

В итоге на запуск достаточно серьёзного в функциональном плане Интернет-магазина на базе CS-Cart у нас ушло 4 дня, в то время, как на OpenCart похожее творение убивало у меня от 2 недель времени, про Битрикс я даже не заикаюсь.

Комментарии (14)


  1. vanxant
    10.04.2018 15:51
    -2

    Smarty. Nuff said


  1. WayMax
    10.04.2018 16:34
    +3

    Краткое содержание: «Все опенс-сорс CMS — говно поделки для студентов, покупайте CS-Cart»


    1. Eugeny1987
      10.04.2018 18:16

      «Все опенс-сорс CMS — говно поделки для нищебродов, покупайте CS-Cart» )
      Есть кстати бесплатные коробочные CMS, например HostCMS


  1. ainu
    10.04.2018 20:00

    А что такое масштабные в вашем случае? миллион хитов в сутки не считая статики есть?


  1. ainu
    10.04.2018 20:03

    Алсо, про то, что на CS Cart можно сделать магазин за три дня (а не 4 как в этом посту), вы писали ровно пять лет назад. Откуда лишний день?


    1. robert_ayrapetyan
      10.04.2018 21:46

      Стареет


  1. sayber
    10.04.2018 21:19
    +1

    За это надо еще платить?
    Есть множество отличных CMS, в подходящим для бизнеса функционалом и реализованных на современных технологиях.

    Перешел на сайт, мне сразу в лицо — дайте свой номер телефона…
    Что за неуважение к потенциальным клиентам?
    Клиент заходит не для того, что бы оставить телефон или еще какою фигню манагеров выполнить. Клиент хочет посмотреть сайт продукта и информацию.


  1. artsavel
    10.04.2018 22:32

    Больше напомнило рассказ в стиле “как я провёл лето», а не технический обзор «крутой» CMS


  1. n1ger
    11.04.2018 00:23

    А в чем пиар? Что за 4 дня можете установить на сервер платную CMS? Или что платная CMS настолько сложная, что вы только вы её смогли осилить за 4 дня?


  1. iit
    11.04.2018 06:40

    Вот я разработчик крупного портала, у нас стоит платная CMS не буду говорить какая, но точно ни это. И с ней постоянные проблемы:
    1) Код ядра максимально запутан и фиг поймешь как оно работает
    2) Вендор выпустил новую версию несовместимую со старой да и еще с доплатой, пришлось оставлять старое легаси которое требует php 5.4 sic!
    3) Эта штука постоянно ломалось в самых неожиданных местах, которые как раз и были в этом запутанном ядре
    4) Масштабировать эту штуку было не реально
    5) Документация как бы была, но ключевое слово как-бы, после выхода новых версий старые доки удалили
    6) Развивать эту жуть сложно — по сути она стала стопором для многих бизнес-процессов компании


    Итог — самые сложные компоненты проекта вынесли на отдельные сервисы созданные с помощью laravel а сам проект будем переписывать на phalcon.


    1. xRay
      11.04.2018 08:43

      Битрикс?
      А зачем на Phalcon если PHP 7 вполне себе шустрый?


      1. ainu
        11.04.2018 10:04

        PHP7 с опкешем шустрый только до 50-70 RPS (без кеширования). Дальше уже надо чтото переизобретать или брать сервер с 12-16 ядрами, или кеширование, или масштабирование.


      1. iit
        11.04.2018 13:18

        Не, не Битрикс одна из многих других "коробочных" CMS.


        По сравнению с большинством таких "продуктов" Битрикс даже на так плох, как кажется.


  1. AndreyMtv
    11.04.2018 10:52

    Зашел на сайт, посмотрел интеграцию с 1с. В загрузке заказов сайта увидел цену…
    Это пипец, товарищи. Это же в букваре по сетевой безопасности аршинными буквами написано, что сервер никогда не должен доверять клиенту.
    Лучший способ устроить распродажу всего своего товара с 99,99% скидкой, это загружать цену товара из заказа.
    Зачем? Достаточно артикула и количества. 1с это система в которой ведется, как учет товаров, так и вся бухгалтерия. Если где и есть корректная цена, для целей учета, то только в ней.