Первый серьёзный магазин на MS2
Давно чешутся руки написать про магазин, который стал причиной создания miniShop2.
Именно при разработке этого сайта на MS1 мы поняли, что он совершенно не тянет. Ну, то есть как? Конечно, задача была выполнена, функционал работал, даже более-менее сносно, но Simple Dream были недовольны результатом.
В первую очередь, не устраивала скорость, во вторую - удобство управления товарами. Получилось много велосипедов, кривенько сделанных настроек и этим было сложно пользоваться. А магазин большой, работать будет долго, труда и времени вложено ого-го!
Поэтому дружно решили разработать принципиально новый компонент, в котором будет удобно не только программистам, но и заказчикам. Ибо жить с готовым сайтом - им.
Ну вот, теперь можно показать, что получилось в итоге - Интернет магазин для счастливых семей. Сайт, который мы сделали дважды: на miniShop1 и miniShop2.
Он сейчас активно наполняется, каталог перелопачивается, вносятся размеры и проводится СЕО оптимизация. Но я думаю, что похвастаться уже можно.
Фильтры везде
Мало кто в курсе, что фильтры для поиска mSearch тоже были созданы для этого магазина. Отсюда их некоторая сложность в эксплуатации, ибо требования выдвигались серьёзные:
-
Поиск и вывод товаров где угодно
-
Фильтрация результатов по любым параметрам
-
Параметры строятся динамически, в зависимости от найденного
То есть, нельзя заранее сформировать и закэшировать фильтры - они должны строиться каждый раз заново, в зависимости от найденных товаров.
Отдельно хочу отметить, что все товары магазина выводятся через эту систему. То есть, фильтры и в поиске, и в категориях, и в акциях и вообще везде.
Параметры и учет наличия
У товаров магазина есть очень много связей и зависимостей.
-
Куча возможных размеров
-
Варианты цвета
-
Компллекты
С размерами пришлось повозиться особо. Во-первых: их просто много, во-вторых: они меняются от типа товара и в третьих: они могут влиять на цену.
Кроме того, учитываются остатки, да еще и с резервированием.
Особая корзина
Класс корзины используется собственный, ибо у него особые правила:
-
Каждый товар в корзине - отдельная позиция
-
Товар можно копировать, прямо в корзине, при этом проверяются его остатки и резерв
-
Можно менять цвет товара, опять же с проверками
-
Товар не удаляется из корзины сразу, покупатель может "передумать"
Создание заказа и оплата
Тут тоже свой класс, основное отличие - правила валидации полей и скрытие\показ нужного в зависимости от способа доставки.
Методы оплаты не вызываются сразу после заказа. Нет, ссылка на оплату приходит только при выставлении заказу "проверен" - тогда покупатель может кликнуть и перейти на оплату заказа выбранным способом.
Понятное дело, что функциональность этих систем расширена, как это предусмотрено архитектурой MS2.
Бренды
Для таких больших и серьезных магазинов отдельной характеристикой являются бренды, которые он представляет. Эту страницу переделывали много раз и дело не только в том, что нужно прочесать и отсортировать весь каталог, но и в том, чтобы это понятно показать.
На мой взгляд - получилось неплохо. Есть еще некоторые ошибки при переходе на товары из этого индекса, но я постараюсь их исправить в ближайшие дни.
Дизайн и юзабилити
Тут моей заслуги нет никакой - удобство покупателя и внешний вид целиком работа специалистов Simple Dream. Проверялась каждая табличка, каждая картинка, каждая кнопочка.
Учитывая, что проект в разработке уже долгое время, многое неоднократно менялось и перекраивалось (да и сейчас еще вносятся правки). Похоже, этот процесс невозможно закончить, можно только остановиться.
В любом случае http://mamaboutique.ru выглядит на 5 баллов! Кто не согласен - прошу в комментарии.
Заключение
Вся эта красота сделана на основе miniShop2 и других стандартных компонентов. Нет никаких хаков ядра, исправления парсера, шаблонизаторов или прочей новомодной фигни. В любой момент мы можем накатить обновления движку или магазину - и ничего не сломается.
Это стандартный MODX, к которому приложили руку хорошие специалисты. Работает быстро, на мой взгляд, быстрее многих магазинов подобной сложности. Никаких перезагрузок страниц без необходимости - везде ajax.
Лично я горд тем, что принял участие в программировании этого проекта, и мне не стыдно поставить его себе в заслугу. Еще раз повторяю, моей работы там процентов на 50, остальное - это программисты, дизайнеры и менеджеры Simple Dream.
Отдельно хочу упомянуть заказчицу магазина - более терпеливого и любознательного человека, которого не пугают наши постоянные заморочки, я не видел. Другой бы давно психанул и потребовал "хочу чтобы все было офигенно, вот прям щас и сразу!" - но нет, она вникает в наши сложности, и мы вместе решаем, как из них выйти.
Ведь, программирование - это творческий процесс, который отнимает много сил и нервов, тем более, когда изобретаешь что-то новое, а не идёшь проторенной дорожкой.
На мой взгляд, круче магазина на базе MODX в РФ нет. А на компоненте miniShop2 - тем более!
Updated 25.04.2013
Гораздо более красивое описание проделанной работы от Simple Dream.
0
👍
👎
❤️
🔥
😮
😢
😀
😡
3 731
24.04.2013 23:02:16