Эххх, давненько я здесь не появлялся и не писал… А, тем временем, жизнь идёт, все меняется, в том числе и мой любимый 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)
WayMax
10.04.2018 16:34+3Краткое содержание: «Все опенс-сорс CMS —
говноподелки для студентов, покупайте CS-Cart»Eugeny1987
10.04.2018 18:16«Все опенс-сорс CMS —
говноподелки для нищебродов, покупайте CS-Cart» )
Есть кстати бесплатные коробочные CMS, например HostCMS
ainu
10.04.2018 20:00А что такое масштабные в вашем случае? миллион хитов в сутки не считая статики есть?
ainu
10.04.2018 20:03Алсо, про то, что на CS Cart можно сделать магазин за три дня (а не 4 как в этом посту), вы писали ровно пять лет назад. Откуда лишний день?
sayber
10.04.2018 21:19+1За это надо еще платить?
Есть множество отличных CMS, в подходящим для бизнеса функционалом и реализованных на современных технологиях.
Перешел на сайт, мне сразу в лицо — дайте свой номер телефона…
Что за неуважение к потенциальным клиентам?
Клиент заходит не для того, что бы оставить телефон или еще какою фигню манагеров выполнить. Клиент хочет посмотреть сайт продукта и информацию.
artsavel
10.04.2018 22:32Больше напомнило рассказ в стиле “как я провёл лето», а не технический обзор «крутой» CMS
n1ger
11.04.2018 00:23А в чем пиар? Что за 4 дня можете установить на сервер платную CMS? Или что платная CMS настолько сложная, что вы только вы её смогли осилить за 4 дня?
iit
11.04.2018 06:40Вот я разработчик крупного портала, у нас стоит платная CMS не буду говорить какая, но точно ни это. И с ней постоянные проблемы:
1) Код ядра максимально запутан и фиг поймешь как оно работает
2) Вендор выпустил новую версию несовместимую со старой да и еще с доплатой, пришлось оставлять старое легаси которое требует php 5.4 sic!
3) Эта штука постоянно ломалось в самых неожиданных местах, которые как раз и были в этом запутанном ядре
4) Масштабировать эту штуку было не реально
5) Документация как бы была, но ключевое слово как-бы, после выхода новых версий старые доки удалили
6) Развивать эту жуть сложно — по сути она стала стопором для многих бизнес-процессов компании
Итог — самые сложные компоненты проекта вынесли на отдельные сервисы созданные с помощью laravel а сам проект будем переписывать на phalcon.
xRay
11.04.2018 08:43Битрикс?
А зачем на Phalcon если PHP 7 вполне себе шустрый?ainu
11.04.2018 10:04PHP7 с опкешем шустрый только до 50-70 RPS (без кеширования). Дальше уже надо чтото переизобретать или брать сервер с 12-16 ядрами, или кеширование, или масштабирование.
iit
11.04.2018 13:18Не, не Битрикс одна из многих других "коробочных" CMS.
По сравнению с большинством таких "продуктов" Битрикс даже на так плох, как кажется.
AndreyMtv
11.04.2018 10:52Зашел на сайт, посмотрел интеграцию с 1с. В загрузке заказов сайта увидел цену…
Это пипец, товарищи. Это же в букваре по сетевой безопасности аршинными буквами написано, что сервер никогда не должен доверять клиенту.
Лучший способ устроить распродажу всего своего товара с 99,99% скидкой, это загружать цену товара из заказа.
Зачем? Достаточно артикула и количества. 1с это система в которой ведется, как учет товаров, так и вся бухгалтерия. Если где и есть корректная цена, для целей учета, то только в ней.
vanxant
Smarty. Nuff said