Встречайте X-Cart 5.3: быстрый и удобный

anima's picture
Встречайте X-Cart 5.3: быстрый и удобный
Встречайте X-Cart 5.3: быстрый и удобный

Привет друзья!

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

Новый шаблон Crisp White


Новый шаблон Crisp White

Во время работы над 5.3 мы уделили особое внимание тому, чтобы дизайнерам и разработчикам было удобно и легко вносить изменения в дизайн X-Cart, и чтобы при этом сохранилась гибкость платформы в процессе обновлений и установки новых модулей.

Одной из задач в достижении этой цели была разработка нового шаблона. "Crisp White" создан в стиле минимализма. Комбинация стилей Flat и Material design делают его стильным, светлым, воздушным. Верстка элементов основана на вертикальном ритме и сетке Bootstrap (Bootstrap Grid System).

Если за основу дизайна сайта Вы взяли шаблон Standard skin, который включен во все пакеты X-Cart, Вы можете продолжать его использовать и в 5.3. Однако новые проекты мы рекомендуем разрабатывать на базе Crisp White.


Изменение дизайна методом Drag-and-drop и
Inline-редактирование


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



Ещё один полезный инструмент — inline-редактирование страницы описания продукта. Описание можно оформлять непосредственно на странице предварительного просмотра и сразу видеть как оно будет отображаться для посетителя магазина. Особенно полезным этот инструмент будет в случае, когда описание продукта включает такие элементы как таблицы, картинки, видео и в итоге может выглядеть по-разному в редакторе и в магазине. На видео показан процесс редактирования с добавлением таблицы и картинки.



Twig — наш новый шаблонизатор

Flexy был для нас прекрасным инструментом, тем более, что он отлично соответствовал логике архитектуры X-Cart, но к сожалению он так и не обрёл популярность. А так как одной из наших задач было сделать изменения в дизайне проще и доступнее для разработчиков, мы стали искать альтернативное решение.

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

Мы понимаем, что подобные изменения — это, как правило, дополнительная работа для наших партнёров, и у нас есть отличные новости для тех, кто разрабатывал модули и другой функционал для X-Cart на Flexy. Мы сделали специальный конвертер, который поможет быстро перевести программный код c Flexy на Twig http://xcart.github.io/flexy-to-twig/

Новая страница оформления заказа
Fast Lane Checkout

В предыдущих версиях X-Cart используется одношаговая страница оформления заказа. Начиная с 5.3 во всех платных пакетах будет доступна новая страница, где процесс оформления заказа будет разбит на несколько шагов для покупателя. Не смотря на критику, у этого подхода есть свои преимущества, и в некоторых магазинах он может работать лучше одношаговой страницы. Клиент не пугается большого количества полей для заполнения, так как информация спрашивается порционно, он понимает, что произойдёт дальше, и какую именно информацию указывать на следующем шаге. В результате, страница оформления заказа выглядит аккуратнее, логичнее и проще. На самом деле трудно угадать, какой из вариантов лучше или хуже, но можно выяснить с помощью A/B теста.

Новая страница оформления заказа совместима и с шаблоном Standard Skin, и с Crisp White.

1 шаг: Необходимо указать адреса доставки и плательщика 2 шаг: Выбор способа доставки 3 шаг: Выбор способа оплаты

Групповое редактирование

Групповое редактирование — это невероятно удобный инструмент при работе с каталогом продуктов. В X-Cart 5.3 этот функционал работает на основе случаев для группового редактирования, то есть вы выбираете продукты в каталоге и, например, назначаете им новую категорию, одновременно для всех. Как правило, необходимость менять массово относится к категориям или пользовательским группам, настройкам доставки или распродажам, и на данный момент для группового редактирования доступны следующие случаи:


  • Добавить, удалить или переназначить категории и тэги;
  • Изменить количество продуктов и соответствующие настройки;
  • Изменить цены и пользовательские группы;
  • Изменить настройки доставки.

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

4-е число в нумерации версий

Начиная с 5.3, каждая версия будет представлена в виде последовательности из 4-х чисел, как например текущая — 5.3.0.0.

Увеличение в 4-oм числе будет означать, что выпуск этой версии полностью направлен на устранение ошибок. Увеличение в 3-ем числе будет говорить о том, что в эту версию вошли новые функции. Если доступны обе версии, администратор магазина сможет выбрать, хочет ли он обновить магазин только для того, чтобы устранить ошибки или для того, чтобы и добавить новых функции, и устранить ошибки.

Увеличение в 4-ом числе
5.3.0.3 → 5.3.0.5
Только устранение ошибок
Бесплатно всегда
Увеличение в 3-ем числе
5.3.0.3 → 5.3.1.0
Устранение ошибок
Новые функции
Небольшие изменения API
Бесплатно при наличии
подписки на обновления
Увеличение во 2-ом числе
5.3.0.3 → 5.4.0.0
Устарнение ошибок
Новые функции
Значительные изменения API
Бесплатно при наличии
подписки на обновления

Быстрая система кэширования

Мы протестировали X-Cart на AWS c4.xlarge с Nginx + PHP-FPM через сервис Gatling. Каждую минуту 100 новых пользователей заходили в магазин и следовали по маршруту: главная страница, страница категории, страница продукта, добавление продукта в корзину, другая страница категории, главная страница. В результате теста мы получили следующие значения времени ответа (полное время загрузки страницы):

X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
Рост скорости, %
Главная страница
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
1.285
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.610
Рост скорости, %
+110.66%
Страница категории
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
1.139
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.606
Рост скорости, %
+87.95%
Страница продукта
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
1.286
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.587
Рост скорости, %
+119.08%
Страница корзины с добавленным продуктом
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
1.148
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.587
Рост скорости, %
+95.57%
Страница категории с добавленным продуктом
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
3.640
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.651
Рост скорости, %
+459.14%
Главная страница с добавленным продуктом
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
3.217
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.425
Рост скорости, %
+656.94%
Среднее значение
X-Cart 5.2
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
1.232
X-Cart 5.3
Время ответа (с)

100 новых пользователей в минуту
PHP 5.5
0.536
Рост скорости, %
+129.85%

PHP 7

X-Cart 5.3 поддерживает PHP 7, и мы хотим поделиться результатами тестирования на PHP 7. В этом тесте условия и сценарий те же, что и в предыдущем, но в этот раз мы дополнительно протестировали работу магазина при 300 новых пользователях в минуту (432 000 пользователей в день). По полученным результатам можно с уверенностью сказать, что X-Cart готов к высоким нагрузкам.

Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
Время ответа (с)
100 новых пользователей в минуту
PHP 7
Время ответа (с)
300 новых пользователей в минуту
PHP7
Главная страница
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.610
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.422
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.554
Страница категории
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.606
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.406
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.539
Страница продукта
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.587
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.290
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.443
Страница корзины с добавленным продуктом
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.587
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.286
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.431
Страница категории с добавленным продуктом
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.651
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.434
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.572
Главная страница с добавленным продуктом
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.425
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.247
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.365
Среднее значение
Время ответа (с)
100 новых пользователей в минуту
PHP 5.5
0.536
Время ответа (с)
100 новых пользователей в минуту
PHP 7
0.329
Время ответа (с)
300 новых пользователей в минуту
PHP7
0.462

Так как в ближайшее время многие хостинг компании продолжат использовать более старые версии PHP, минимальная версия, которая поддерживается X-Cart 5.3, — PHP 5.4.

Изменения без перестройки кэша

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

Так же в X-Cart 5.3 разработчиков порадуют улучшения в модуле WebmasterKit. C помощью нового инcтрумента DebugBar, Вы можете получать информаци о состоянии памяти, SQL запросах, системных сообщениях, процессах загрузки виджетов, и т.д. Используя эту информацию, Вы можете редактировать свой код, делая его быстрее и стабильней.

     


В 5.3 вошли ещё такие улучшения как новая структура email шаблонов, новые зависимости (Depend, After, Before) вместо бесконечных @LC_Dependencies, формы Symfony в стиле Bootstrap, улучшена поддержка PHPStorm, использование Composer для работы с PHP зависимостями и др. Обо всем этом мы будем рассказывать подробнее в следующих блог постах.

Начиная с 5.3, X-Cart будет доступен в публичном репозитории GitHub.

Обновление до 5.3 не будет доступным пока не закончится beta-тестирование, но Вы уже можете скачать и познакомиться с X-Cart 5.3. Будем рады, если о полученных ошибках Вы сообщите в нашем багтрекере. Мы советуем не обновлять Ваши модули до 5.3, пока не выйдет стабильная версия.


Яндекс.Метрика