xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Плюсы и минусы Drupal Commerce

Опубликовано в

Минусы

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

  2. Запутанная структура
    Достаточно сложно разобраться во внутренней структуре коммерца и понять как это всё между собой работает. Без практики и дебагера никак.

  3. Разделение товара на две сущности
    Это вносит сложности при создании товаров, импорте, массовом редактировании, выводе, программной работе и т.п.

  4. Нужен высокий скил по контрибу
    Нужно знать как работает и уметь пользоваться Views, Rules, Entity API. Причём уметь пользоваться не только админкой, но и API этих модулей.

  5. Сложность сортировки и фильтрации по динамическим ценам
    По умолчанию невозможно отсортировать или отфильтровать товары по цене с учётом скидок, акций и т.п. Итоговая цена в коммерце высчитывается в момент вывода, в бд же хранится только первоначальная цена. Интересно, как эта проблема решена в других движках?

  6. Сложность работы с динамическими ценами
    Разработчики комерца предлагают управлять ценами с помощью Rules, но это подходит только в части случаев. Как только понадобится логика сложнее чем "скидка 10% на все товары", придётся писать своё решение.

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

  8. Нет магазинной админки
    Админка то есть, но она для разработчика. Для администратора практически ничего нет — нет удобного управления материалами, скидками, вариациями товара, статистики. Всё это надо собирать самому. Сложности при редактировании заказов (например невозможно изменить значение кастомного поля line item-а).

  9. Производительность
    Тут конечно всё зависит от разработчика, но на оверхед коммерца можно смело закладывать 50 а то и все 100 процентов.

  10. Детские болезни
    Множество неприятных мелочей — невозможно без костыля перевести отдельные строки, зависимость от Addressfield, невозможно без модуля добавить поля в чекаут, невозможно сменить порядок шагов чекаута и т.п.

Плюсы

  1. Это Drupal
    Для девелопера доступны тысячи модулей, масса статей и видео, локальные комунити, конференции.
    Нужны рейтинги товаров? Не проблема.
    Нужно избранное? Не проблема.
    Нужен вход без регистрации? Не проблема.
    Нужно ______? Не проблема :)
    Это перекрывает большинство минусов.

  2. CommerceGuys
    Создатели коммерца активно участвуют в жизни своего сообщества — пишут статьи, создают модули, снимают скринкасты, помогают на форумах. Но самое главное — они сами профелируются на созданиях магазинов на коммерце, поэтому знают что нужно конечным разработчикам.

Выводы

В общем "установил и пошёл зарабатывать деньги" это не про комерц. Про комерц это — "поставил, спроектировал, подебажил, написал модулей". От разработчика требуется высокий скил, а от клиента толстый кошелёк (хотя в e-commerce по-другому и не бывает) :) Зато ограничений по будущему функционалу практически нет, ведь под капотом друпал.

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

Совет: если выбрали Commerce, то ни в коем случае не пользуйтесь сборками типа Kickstart 2.

Написанное актуально для Commerce 1
Похожие записи

Комментарии RSS

Не вижу вообще смысла делать большой интернет-магазин на Drupal. Во-первых на нуле как удобство и скорость разработки, так и использование админки, а при большой посещаемости будет делать огромные нагрузки на сервер. В общем нафиг оно надо. Лучше взять нормальный магазинный движок

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

под друпал иногда наверное проще написать свою корзину, чем влезать в коммерс, убедился на последнем своем проекте

Согласен, Drupal Commerce это явно не коробочное решение. Хотя есть несколько неплохих сборок.

Drupal Commerce 2 - вот наша надежда

По 7-му пункту может выручить https://www.drupal.org/project/commerce_pricing_attributes

А можно ли назвать какое нибудь коробочное решение на других CMS? Wordpress, Joomla, 1c Битрикс
где самое просто, удобное и КОРОБОЧНОЕ решение можно найти?

PrestaShop

@Александр, что под "большой посещаемостью" понимается? Скорость разработке на нуле только у новичков и оно неудивительно. Удобство на высоте, ибо друпал. И что за "нормальный магазинный движок"?

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

http://clip2net.com/s/iJEExO
http://clip2net.com/s/iJEESI

стоимость будет высчитанная разово, что позволит использовать ее например в facetapi

по все остальным пунктом, 100% согласен

стоимость будет высчитанная разово, что позволит использовать ее например в facetapi

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

А можно ли назвать какое нибудь коробочное решение на других CMS? Wordpress, Joomla, 1c Битрикс
где самое просто, удобное и КОРОБОЧНОЕ решение можно найти?

Я магазины рекомендую создавать на Fast Sales

Думаю коммерц сама нормальная тема, я это понял когда познакомился с убером, с деревянной структурой. А на коммерце если чего не хватает то можно спокойно руками дописать.

При создании магазина на комерце всегда мучает вопрос - а сколько бы у меня ушло времени на написание с нуля?
Да, конечно, "это же друпал", но после быстрой базовой настройки идёт кровавая борьба с железобетонной архитектурой комерца и с вечной друпальной бедой - темизацией. В моих глазах это уже перевешивает простую начальную конфигурацию "этого друпала".

@danSamara "железобетонной архитектурой комерца", вы давно на друпале ?

danSamara, а что с темизацией не так?

@Sodu, 7 лет - с версии 5.7.2, если не ошибаюсь. Да, можно всё перехватить, переопределить, навесить свои структуры и обработчики. Просто после общения с низкоуровневыми фрейворками понимаешь, что написание с нуля занимает зачастую меньше времени, чем переопределение вшитой в друпал логики и архитектуры.

@xandeadx, темизация не нужна. Безусловно, по сравнению с другими фрейворками уровня друпала, она шикарна - всё логично, единообразно и просто - главное чтобы автор модуля не страдал NIH-синдромом, но такое встречается редко и у не крупных модулей. Но это же нуууууууууудно! Да и совершенно неохота переопределять кучу выводов и шаблонов - хочу написать сразу нужный HTML. Twig эту проблему уберёт, но чёрд возьми! почему он только в 8-ке появился? До сих пор не понимаю, почему не прижился Smarty - имхо его идеология очень близка к современным шаблонизаторам. Я его использовал всего один раз и мало что помню, но он был хорош.

Twig эту проблему уберёт

с твигом вместо "кучи выводов и шаблонов" будет две кучи шаблонов

@danSamara можно делать вещи и на чистом, вот просто когда дело дойдет до масштабируемости или какой новой фичи, вот тогда нужно сравнить объем работ который на друпале и на чем то другом на котором сделаете.

@Sodu, когда дойдёт до масштабируемости, надо будет много работать руками и головой и в друпале и в кастоме. И переписывать запросы вьюсов и делать собственные кэши и т.д. Мало того - делать сайт на друпале без мыслей о том, как это всё будет расти - дело гиблое, чреватое переделкой.
Конечно, для объективной оценки сложности подходов снизу-вверх (для low-level фрейворков) против сверху-вниз (друпал) надо сделать несколько абсолютно одинаковых проектов, что совсем-совсем лень :) Посему наш диалог очень субъективен, как бы нам не хотелось обратного.

@danSamara Походу у вас больше опыта, но как бы там не было, думаю друпал более предрасположен к модификациям чем что либо другое.

Очень интересно было узнать про https://www.drupal.org/project/ulogin
Надо попробовать использовать на новых проектах, так как модуль открывает новые возможности ранее не использовавшиеся.

@Konstantin - посмотрите на https://www.drupal.org/project/hybridauth имхо он более лучший

В плюсы нужно добавить наличие этого блога (http://xandeadx.ru/).

для магазина вполне можно юзать друпал + свой мелкий велосипед
и друпал имеем, и с коммерцем возиться не надо

коммерц хорош только в голом виде когда нет сложного функционала и вроде все из коробки + пара модулей есть, а если туда навешать сопутствующих модулей - уже чувствуется его тяжесть

для магазина вполне можно юзать друпал + свой мелкий велосипед

плохой совет

коммерц хорош только в голом виде когда нет сложного функционала и вроде все из коробки

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

плохой совет

минус только один - возможны проблемы при смене исполнителя
и то решаемо

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

Вот как раз для сложных случаев, хорошо зная друпал, на нём имеет смысл что-то делать.

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

когда можно написать шустрый велосипед без коммерца с примерно такими же затратами времени

в общем, это все примеры в вакууме, на практике все зависит от задачи
но коммерцем обычно не пользуюсь

можно посмотреть хоть на один ваш велосипед?

например http://davayzakazhem.ru/

сколько времени ушло на разработку функций им?

всего дней 20 примерно, с версткой

это весь сайт. если только им, то наверно около 5-7

в commerce всё кроме ajax-а шло бы из коробки, считай - drush dl ..., drush en ...
ajax ставится за час.
так что с велосипедом вы явно прогадали.

вы сами знаете что это не так

мне интересно, а во сколько рабочих дней оцените выполнение всего сайта, понимаю что на глаз сложно, хотя бы примерно (полностью, с версткой)

от двух недель

раз общий срок сходится с моим, то можно сделать вывод что и на коммерце, и с велосипедом примерно один объем работы

только на коммерце не надо тратить 5-7 дней на разработку им. $600-800 чистой выгоды. плюс заказчик не останется с велосипедом, который никто не будет поддерживать

вы бы все равно потратили эти 5-7 дней.. на доводку того что якобы есть из коробки до того, что нарисовано в макетах. То, что у коммерца все есть из коробки на практике превращается в формальность

плюс заказчик не останется с велосипедом, который никто не будет поддерживать

вы без всяких проблем сможете поддерживать мой велосипед

давайте конкретней, на что я должен буду потратить 7 дней?

вы без всяких проблем сможете поддерживать мой велосипед

вы сами знаете что это не так

вы сами знаете что это не так

вы не видили велосипед

давайте конкретней, на что я должен буду потратить 7 дней?

корзина и оформление - пара дней. и не говорите "есть и коробки", нет там именно такого. тоже относится к пунктам ниже
бонусы, расчет доставки, сборные товары - день-полтора
каталоги, карточки + куча мелочей вроде мелкой корзины в шапке и аяксов - 3 дня

думаю можно прекратить спор, уже ясно что каждый останется при своем

из всего перечисленного несколько часов уйдёт только на "расчет доставки, сборные товары", всё остальное делается за час

голословно

от двух недель

быстро однако, субъективно думал месяц где то или на неделю больше

Спор ни о чем, имхо.

В commerce есть один большой минус, который перекрывает все плюсы, а именно:

Отсутствие готового решения для интеграции с 1С, пока его не появится, он никуда не взлетит. Битрикс предоставляет его чуть ли не из коробки. Понятно, что его многие колхозили при помощи 1С программиста, который рожал csv + feeds. Может быть поколхозим нормальное решение, как в битриксе (кто заинтересован, пишите)?

Если говорить про создание ИМ, тут всё в ТЗ упирается, которое должно упираться в drupal way. Берем commerce kickstart, PrestaShop, любой велосипед и плов готов.

Насколько знаю "интеграция битрикс и 1с" это маркетинговая уловка. В реале вам так же придётся пилить, пилить и пилить. Ну а в коммерц любая интеграция на csv пишется за день/два, что-то простое можно собрать на Feeds за вечер. Так же есть http://cmlservice.com/

Глаз радует когда в комментах собрались такие гуру!
По прикидке для меня - такой сайт как у imarat- месяца 2 работы. Очень красиво - очень круто!
xandeadx вообще гуру, но по мне (а опыт php программирования всё таки очень большой) в случае с drupal commerce - игра не стоит свеч. Это получается еще одну систему изучать к уже имеющимся. Целесообразно может быть только для того кто уже знает друпал очень хорошо и привык с ним работать. В остальных случаях не оправдано.

А из бесплатных получается - PrestaShop всё таки? Или что то другое?
Что гуру думают о OpenCart? Я лично с последним работал - если заниматься поддержкой - то всё понятно - всё очень легко делается.

Очень хотелось бы что бы высказались все гуру которые тут засветились в том числе и Sodu и DanSamara

И ни слова о magento... вот это истинные фанаты друпала.
Хочу магазин замутить типа "купил - скачал". Думал на друпале, потому что кое-что в нем понимаю, но меня терзают смутные сомнения. Тяжеловат кикстартер. Тянет на хостинг от $80 в месяц. Смотрю в сторону magento сейчас. Кто-нибудь может сравнить в двух словах magento и коммерц?

магента ещё тяжелее
но кикстарт не надо ставить в любом случае

Обоснуйте, плиз. Просто коммерц требует кучи работы по созданию сайта. Кикстартер уже готовый сайт. И мажента - готовый сайт. Дилемма, однако.

это плохая сборка плохих модулей с плохой темой

Ладно. А есть нормальная бесплатная или платная сборка? Мне только файлы продавать. Хочется сосредоточиться на создании этих файлов, а не на изучении фрймворка и создания сайта. :)
Спасибо.

А есть нормальная бесплатная или платная сборка?

Drupalife Store, если ещё кому то интересно есть сборка от довольно известного блогера-разработчика по Drupal.

Кикстарт - это просто годзилла какой то, я его на локальную машину без ошибок ни с первого ни со второго раза не смог установить. Работает очень медленнннннноооо. Поддерживаю, что эту сборку НИ В КОЕМ СЛУЧАЕ НЕ СТОИТ ИСПОЛЬЗОВАТЬ.

спер шаблон, подумал какие поля распихать в дисплай, какие в товар, подбросил монетку))) нарисовал дисплай, написал вьюху, шаблонизировал анонс, всё - два дня работы.
Недопереводится - в гугл, пофиксил...
Заказ на одной странице без регистрации - в гугл, приделал... и опять и снова в гугл.

Собрал свой скелет: модули, готовый коммерц со всеми хуками и мини корзинками ajax. Теперь клонирую клиентам и допиливаю под каждого.

Вопрос. Почему такой скелет (не кикстар) а именно нормальный рабочий скелет с переводами, базой и т.д. не выкладывают добрые люди?

Ну сделал админку с графиками - поделись, чо жмешься! Людям одну и туже хрень надо сутками собирать. Почему никто не сделает помойку со скелетами?

этих помоек только на моей памяти три штуки было

Дима, жесть, все случаи очень разные, у всех админки разные и всем разные данные нужны, графики и другие фичи, у всех слишком разное. Такое выкладывать вообще никому пользу не принесет, лучше разбирать какие нибудь частные моменты и выкладывать как оно сделано.

Sodu, Drupal 8 предлагает view, переводы и много полезностей из коробки, почему смерку не выкладывать с таким набором? На семерку даже шаблон админки и меню как из восьмерки есть.
А "Общая сумма заказа" в комерце и другие вещи не переводятся, потому, что кто-то забыл дописать t и приходится вставлять хук. Это мелочи, но почему каждый пришедший на Drupal должен сталкиваться с такими граблями?
В итоге создается ощущение что проще работать с Opencart, ведь ребята из опенкарт делают графики и засовывают в коробки не просто так...

xandeadx, а Вы не желаете выложить свою сборку магазина. Думаю что даже если она будет платная, то много желающих этим воспользуется. Или если бесплатная, то совместными усилиями ее можно будет сделать близкой к идеалу.

у меня нету собственной сборки

А базовый дистрибутив модулей с их настройкой? )))
Снять пару видео по базовой настройке магазина. Люди интересуются, а в нете нет норм информации.

Вам профит будет с трафика, а пользователь получит информацию.
Понятно что на это нужно время, но в перспективе оно окупиться 100%. )))

Спс.
Если изменить немного meta страницы, будет лучше. )))

title: Интернет магазин на Drupal Commerce. Видео курс Lynda
description: Установка и настройка модулей: управления товарами, процесса покупки, приема платежей, скидки на товары, импорт товаров.

Здравствуйте. А как вы выстраиваете структуру товаров на сайте? Имею в виду тот вариант, когда к одному дисплею привязан один товар. На сайте множество типов товаров, с множеством характеристик? Производительность же сильно проседает на всех этих джоинах? А если использовать большие словари таксономии, то это будет еще одним узким местом, т.к. все значения подгружаются в allowed_values для поля.

Здравствуйте.
Уже не в первый раз читаю о том, что Kickstart 2 лучше не использовать.
Могли бы вы написать своё мнение, чем плох, почему не надо использовать Kickstart 2 ?
Спасибо.

Вот примерно такие ответы я и читал, а хочется хоть немного подробностей.
Какие модули чем плохи?
Чем плоха тема?

И не смотря ни на что, тем не менее, модуль коммерц устанавливают в 2 раза чаще чем уберкарт.
Вот статистика установок (Reported installs) на 4 мая 2016:
Commerce: 69,203
Ubercart: 43,318

Интересно было бы увидеть аналогичную статью про ubercart. Спасибо

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании