Orientir
Задача
Первоначальные требования к проекту
Простой интернет магазин. Базового функционала интернет магазина на ALMA.CMS вполне достаточно.
Особенности
- На сайте предполагается большое количество торговых позиций (несколько тысяч, в перспективе - десятки тысяч).
- Большая часть каталога будет выгружаться из файлов поставщика посредством парсинга с FTP сервера, но ручное добавление/редактирование товара должно присутствовать. На данный момент поставщик один, но планируются и еще 5-6 других.
- Так как каталог на сайт выгружается из файлов поставщика, то нужно предусмотреть процентную накрутку на цены поставщика.
- Помимо прочего, планируется работа с оптом и розницей, так что должен быть разный процент накрутки для различных групп пользователей (опт и розница).
- Заказчик принес наброски простенького дизайна, который нужно сверстать.
- Нужно сделать поиск по каталогу с учетом цвета, остатка и цены.
Реализация
Задача 1. Реализовать все вышеперечисленные требования заказчика
Развертываем стандартный интернет-магазин на ALMA.CMS, верстаем дизайн заказчика, параллельно разрабатываем парсинг из файла поставщика, прикручиваем накрутку цен по категориям товара и типам клиентов.
Несколько недель - и задача решена.
Новые требования к проекту
Заказчик доволен, но сталкивается со сложностью, заключающейся в том, что структура каталога в файле поставщика, мягко говоря, не подходящая для сайта, приходится вручную переименовывать категории каталога и перемещать товары. Работать можно, но не очень удобно, т.к приходится производить много манипуляций с каждым товаром. Помимо этого, на сайте постоянно появляются новые папки, за счет того, что поставщик постоянно их добавляет в файл выгрузки; сложность в том, что папка может появиться глубоко в дереве структуры каталога, и невозможно вручную оперативно отслеживать появление 'нелегальных' папок и товаров.
Задача 2. Найти путь решения задачи с появлением 'нелегальных' папок и товаров
Чтобы избавится от появляющихся папок решено:
- весь парсинг производить в скрытый каталог;
- вручную в системе управления создать требуемую структура каталога;
- вручную перемещать товар из срытого каталога в созданный вручную;
- дорабатываем на сайте уведомление, что в скрытой папке появились новые товары и их нужно перенести.
Задача закрыта.
Новые требования к проекту
Как известно, аппетит приходит во время еды - решено подключить еще несколько поставщиков.
Задача 3. Парсинг новых поставщиков
Естественно новые поставщики - это новые файлы для парсинга, у всех поставщиков их разное количество, структура и формат.
Это было непросто, но задача решена. Каталоги поставщиков выгружены в скрытые разделы. Теперь нужно вручную перенести товары в структуру каталога сайта.
Новые требования к проекту
После выгрузки выясняется, что новые поставщики посерьезнее первого. В результате на сайте не несколько тысяч товаров, а несколько десятков тысяч. Появляется новая 'боль' клиента: переносить каждый товар по отдельности - адская мука, которая потребует десятки часов кропотливой работы.
Задача 4. Модуль сортировки
Чтобы облегчить участь клиента решено писать модуль по сортировке, перемещению и переименованию папок. В результате получается интерфейс, позволяющий простым перетаскиванием папок создать нужную структуру сайта. Задача получилась непростая т.к. нужно было учесть массу моментов:
- различные наценки на различных поставщиков с учетом оптовых и розничных цен;
- слияние папок от различных поставщиков с различных уровней вложенности;
- сложные многоуровневые перемещения и изменение родительских папок;
- появление новых папок и товаров.
Задача решена. Столкнулись с несколькими подводными камнями, пришлось много поработать как нам, так и клиенту по формированию новой структуры.
Новые требования к проекту
Проработав какое-то время, клиент понимает, что товаров на сайте несколько десятков тысяч и ориентироваться, искать и подбирать необходимую продукцию в каталоге без поиска и фильтрации по параметрам сложно.
Задача 5: Редизайн, сложный поиск фильтры
Решено делать умный поиск и фильтрацию товара по параметрам, параллельно сделав небольшой редизайн (дизайн клиент предоставит свой).
На этом этапе:
- Верстаем новый дизайн.
- Создаем расширенный поиск
- по наименованию/артикулу;
- по минимальному артикулу;
- по цене;
- по цвету. Тут пришлось серьезно повозиться т.к в файлах парсинга вместо стандартных цветов присутствовали 'литературные' цвета и пришлось делать таблицу соответствия: аква -голубой; антрацит - черный; апельсин - оранжевый; армейский зеленый - зеленый; баклажан - фиолетовый и т.п.;
- по материалу с возможностью выбрать несколько материалов;
- по бренду с возможностью выбрать несколько брендов;
- по категории с возможностью включить/исключить категорию
- Создаем фильтрацию по параметрам в конечном разделе каталога. Фильтры работают с применением технологии AJAX (фильтрация происходит без перезагрузки страницы).
Задача закрыта.
Новые требования к проекту
Постепенно сайт наполняется все большим и большим количеством товаров, на сайте появляется больше пятнадцати основных категорий и более 150 подкатегорий, что сказывается на производительности сайта. Решено провести оптимизацию скорости загрузки.
Задача 6: Оптимизация скорости загрузки и обновления страниц
Проводится внутренняя оптимизация кодов сайта, переиндексация товаров в торговом каталоге. Внедрено и настроено кеширование элементов страниц сайта. Задача решена. В результате удалось добиться загрузки основного контента страницы сайта в пределах двух секунд.
Новые требования к проекту
После какого-то времени работы с сайтом заказчик понял, что его клиенты не всегда сами любят искать по сайту ту или иную продукцию. Часто им проще позвонить в офис и попросить показать варианты продукции по требуемым параметрам. Например, клиенту сайта интересны офисные принадлежности синего и голубого цвета, на которые можно нанести логотипы фирмы, но у него нет времени искать все на сайте и ему желательно получить информацию в одном сообщении на электронную почту.
Задача 7: Коммерческие предложения
После совещания с заказчиком решено сделать модуль коммерческого предложения. Т.е нужен специальный функционал для менеджера сайта, с помощью которого менеджер прямо на сайте сможет скомпоновать торговое предложение, которое будет должным образом оформлено, после чего сохранить это предложение как PDF-документ и отправить на почту заказчика.
В результате был разработан модуль, который позволяет администратору сайта создавать менеджеров, а у авторизованных менеджеров появляется функционал, который позволяет добавлять товары в коммерческое предложение, задавать в обычном HTML редакторе шапку и подвал коммерческого предложения.
Задача решена.
Но еще много куда можно расти и развиваться
- Современный дизайн;
- Адаптивная верстка под планшеты и мобильные телефоны;
- Несколько путей к одному товару (по тематикам и по категориям);
- Возможность нанесения логотипа на фотографию карточки товара.
Выводы
Интернет-сайты давно перестали быть блажью. Сейчас это серьезные инструменты для построения и ведения бизнеса. Сайт - это одна из основных точек продаж и контакта с целевой аудиторией, которая с каждым годом занимает все большую и большую долю у офлайна, и относиться к сайтам нужно с той же серьезностью: развивать, развивать и еще раз развивать.
Нельзя создать сайт один раз и навсегда. Чтобы быть конкурентным, нужно развиваться!
ваш проект
такие работы