Разработка сайтов на PrestaShop

Как видно из заголовка, речь в данной статье пойдет о разработке сайтов-магазинов. Сразу хочу оговориться: данный пост не является техническим, это, скорее, просто выжимка из собственного опыта работы с e-commerce платформами. Основной целью при написании текста было желание поделиться своим опытом с разработчиками, только начинающими свой путь в огромном мире девелопмента для e-commerce.

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

Случилось так, что свою карьеру разработчика я начал в компании, основной специализацией которой были интернет-магазины. С того времени и по сей день я в поиске идеальной СMS под это дело. На данный момент движков для построения своего магазина существует превеликое множество, от древних и морально устаревших, как-то Ubercart или Opencart, до современных гигантов вроде Magento, но как говорится, истина где-то между... В данный момент я предпочитаю создание веб сайта на PrestaShop.

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

Кратко о CMS, с которыми мне пришлось работать

Отправной точкой в моем нелегком путешествий стала упомянутая выше СMS Magento, но так как на тот момент я был зеленым джуном, система показалась мне слишком тяжелой: все эти бесконечные xml-файлы конфигураций (похоже на то, что разработчикам системы за их количество доплачивали :) ); к тому же, движок довольно «тугой» в плане производительности, без varnish на prod ни ногой. Кто-то может возразить, «да ну, вы просто не умеете его готовить». Возможно, в этом есть доля истины, но с тем фактом, что система весьма сложная для освоения, думаю, многие согласятся (вспомнить одни формочки в админке, сразу мутить начинает).

Magento CMS

Так что, друг начинающий, не стоит портить себе аппетит, мой совет — эту систему стоит оставлять на десерт.

Далее по хронологии событий мне пришлось работать с Opencart, и сразу упоение от простоты и доходчивости кода, движок шустрый, но вот незадача: расширяемость никакая. Пока в списке ваших задач что-то вроде «добавить звездочки для продуктов» или «влепить бейджики покупателям», все идет как по маслу, но как только появляется задачи на создание комбинаций атрибутов или фильтров с плюшками, хочется застрелиться табуретом.

OpenCart CMS

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

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

PrestaShop

Начнем, пожалуй, с позитива. Разработка web сайтов на PrestaShop — милое дело, поскольку из коробки у него есть почти все, что может понадобиться 80% заказчиков. Иногда я даже искренне удивляюсь тому функционалу, который там можно найти, а большое комьюнити и популярность свидетельствует о том, что проект «загибаться» не собирается. Есть также множество платных модулей на любой вкус и размер, но это все фасад, шелуха. Что же нас ждет внутри, ведь, собственно, мы же собираемся что-то дописывать, хочется понять, во что это нам выльется в перспективе.

Подчеркиваю, все, о чем говорится ниже, касается последних версий (1.6.х), поскольку со старшими версиями я работал меньше.

Достоинства Prestashop

  1. Интересная система расширения классов в ядре, после того же vqmod воспринимается как благословение, хотя и она далека от идеала.
  2. Довольно просто дописываются модули (кстати, можно их потом выложить общий репозиторий PrestaShop и получить дополнительный профит, они как раз ищут, кому бы миллион вечнозеленых за написание новых модулей подарить).
  3. Система хуков во многом упрощает процесс «допила» нового функционала поверх существующего. В общем, разрабатывать под данную СMS намного приятнее по сравнению с вышеописанными системами.

Недостатки Prestashop

  1. Довольно отвратительный codestyle, иногда так и хочется сделать Reformat code по всему проекту и отправить PR-ом разработчикам, вот только не примут, гордые поди :).
  2. Отсутствие нормального Dev-шаблона, что в последствии вытекает в адские мучения для разработчика либо верстальщика, приходится брать стандартный шаблон и «доводить напильником».
  3. Не менее отвратительный JS шаблон. Да, многое там реализовано с использованием аяксиков и jQuery-эфектов, но зачастую весьма отвратно.

Если найдется человек, который исправит эти недочеты или «запилит» человеческий шаблон для разработчиков, обещаю лично скинуться на бронзовый памятник в полный рост :). (от редактора блога: неистово плюсую!)

И в заключение

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

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

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