drupal commerce

Плюсы и минусы 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.