Строим Интернет-магазин

We use cookies. Read the Privacy and Cookie Policy

Строим Интернет-магазин

Пример проекта, предполагающего развертывание и внедрение системы онлайновой коммерции в торговой компании. В качестве готовой «коробки с ПО» выбрана система электронной коммерции Amiro.CMS.

Основной принцип решения задачи, сформулированной в названии статьи, – реализация проекта в виде Web-решения со всеми его преимуществами (защищенность, удобство использования, минимальные затраты на развертывание). При этом на систему не возлагаются не свойственные ей функции (бухгалтерия, складское хозяйство, документооборот и т. п.), но предусматриваются механизмы для взаимодействия с соответствующими программными продуктами («1С», «БЕСТ» и др.).

В системе реализовано полнофункциональное управление контентом сайта, содержатся средства управления вниманием его посетителей и поддержания конструктивного диалога с клиентами Интернет-магазина. Архитектурно Amiro.CMS представляет собой многоуровневый и централизованный «конвейер» обработчиков событий, где каждое действие проходит по цепочке необходимых обработчиков в рамках текущего запроса. Обработка – это многоуровневое кэширование, проверка безопасности на уровне запросов к БД и бизнес-логики. Интерфейс сайта, его локальные данные вынесены в отдельные уровни обработки. Как отмечает разработчик, Amiro.CMS изначально строилась в расчете на экстремальные условия эксплуатации и экономию серверных ресурсов. Это позволяет использовать систему для организации сервиса – конструктора бесплатных сайтов, для которых свойственна низкая подготовленность пользователей, постоянные атаки и потенциально высокие нагрузки из-за неоптимальности конфигурации, особенно если сайт создавали неквалифицированные пользователи. (Например, служба www.webstolica.ru, реализованная на Amiro.CMS, на данный момент обслуживает более 35 тыс. сайтов.)

Администратор может настроить интерфейс управления модулем под конкретные задачи.

В Amiro.CMS имеется три основных типа модулей: линейное хранилище данных (для организации новостных лент, материалов с рубрикацией, файловых архивов, подписок и т. п.), иерархическое хранилище разнородных данных (позволяет организовать любые сложные структуры – каталог продукции, базу знаний, энциклопедии и т. п.) и система расширений для перекрестных связей и создания дополнительной функциональности между типовыми модулями (обсуждения, рейтинги, защита от спам-роботов и другие сервисные возможности). Отдельно можно выделить системные модули для организации онлайновых заказов, процессинга платежных систем, обмена данными и другие расширения.

Большинство модулей могут быть многократно использованы на разных страницах сайта (мультистраничность), что позволяет реализовать структуру сайта, содержащую однотипные страницы (например, несколько лент новостей, фотогалерей и др.). Отображаемые данные системы реализованы на шаблонах с несложным синтаксисом. Для редактирования данных представлен специальный инструмент, позволяющий быстро найти нужное место для правки и выгрузить все шаблоны через FTP для работы над ними в оффлайновом режиме.

Имется четыре типа пользователей: «гость» (системная группа), «зарегистрированный пользователь» (принадлежит к какой-либо группе с назначенными правами), «модератор» (имеет доступ к данным других пользователей и доступным его группе модулям), «администратор» (имеет все права на доступные его группе модули). Права доступа назначаются на уровне групп пользователей, один пользователь может входить в любое количество групп, а каждая группа – иметь любые ограничения на использование всего перечня доступных модулей в системе.

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

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

Экранные формы снабжены фильтром для поиска необходимых для работы элементов, группы обеспечивают максимально эффективную работу с массовыми операциями. Задание формул расчета ценовых параметров (налогов, скидок, стоимости доставки и пр.) выполняется в категориях или отдельных товарах для групповых операций по изменению свойств товара. Предусматривается режим редактирования в формате Excel прямо в Web-интерфейсе панели администратора и гибкие возможности импорта/экспорта товаров, заказов, пользователей для вынесения всех операций в первичную базу компании/предприятия (программы «1С», «БЕСТ», «Галактика» и любые другие, имеющие функции экспорта/импорта в свои БД).

Общие настройки. Анализируем структуру данных, выделяем основные и дополнительные свойства, группируем по атрибутам. Производим общие настройки каталога (определяем используемые валюты), создаем и настраиваем категории товаров, заполняем справочники, содержащие данные по дополнительным свойствам товара. Обмен данными в рамках поставленной задачи разделяется на два этапа – импорт данных каталога из «1С» в базу Интернет-магазина и экспорт получаемых заказов обратно в базу «1С». Для настройки импорта данных каталога устанавливается входящий в пакет поставки модуль для «1С».

Настройка системы скидок. Система скидок на товары Интернет-магазина, персональные скидки для покупателей и дилеров, разовые рекламные акции со скидками управляются соответствующим модулем «Скидки». Модуль «Купоны» позволяет создавать купоны и их категории для использования в модуле скидок.

В Amiro.CMS имеется весьма развитый механизм импорта и экспорта данных

Для упрощения задачи цены для гостей сайта и пользователей с ролью «розничный покупатель» будут одинаковыми. Для остальных ролей пользователей будут свои цены. Вводим в настройках магазина дополнительные цены, задаем формулами порядок их расчета. Например, первая дополнительная цена – «Цена дилера 1», она рассчитывается по формуле 0,8?price, где price – цена товара для обычных пользователей. Настраиваем параметры отображения.

Что следует учитывать для обеспечения безопасности.

1.?При регистрации на сайте пользователь может подменить форму и «объявить» себя дилером. Эту проблему можно решить либо предварительной модерацией новых пользователей, либо дополнительной проверкой в серверном обработчике форм.

2.?Пользователь сайта, сформировав определенный URL, может добавить в корзину товар по любой цене. На этот случай менеджеры должны либо отслеживать статус заказов (что часто и делается), либо дополнительно проверять заказы в серверном обработчике корзины.

Настройка модуля «Доставка». Расчет стоимости доставки в зависимости от географии и типа товара. В интерфейсе администратора в разделе «Каталог товаров/Доставка/Способы доставки» создаем способ доставки, например, «по Москве» для категории товаров «X», у которого стоимость доставки равна 100 руб. В разделе «Каталог товаров/Доставка/Способы доставки» создаем способ доставки, например, «по Санкт-Петербургу» для категории товаров «X», у которого стоимость доставки равна 200 руб. В разделе «Каталог товаров/Доставка/Типы доставки» создаем типы доставки «„X“ по Москве», «„X“ по Санкт-Петербургу» и «„Y“ по Москве», содержащие соответствующие способы доставки. В разделе «Каталог товаров/Каталог/Товары» или в разделе «Каталог товаров/Каталог/Категории» (если все артикулы товаров каждого производителя сгруппированы по отдельным категориям) назначаем соответствующие типы доставки.

На товары, стоимость доставки которых рассчитывается менеджерами, счет в онлайновом режиме не выставляется, остальным выставляется автоматическая цена. В интерфейсе администратора в разделе «Каталог товаров/Доставка/Способы доставки» создаем способ доставки «Рассчитывается менеджером», у которого стоимость доставки равна 0 руб. В разделе «Каталог товаров/Доставка/Типы доставки» создаем тип доставки «Рассчитывается менеджером», состоящий из только что созданного способа доставки. В разделе «Каталог товаров/Каталог/Товары» товарам, стоимость доставки которых определяется указанным условием, назначаем тип доставки «Рассчитывается менеджером».

Примерная смета и перечень работ. Интеграция дизайна сайта, представленного клиентом в формате PSD, потребует от 6 до 30 ч работы HTML-верстальщика; для программирования специфических задач, описанных выше, в среднем потребуется 4–16 ч работы программиста; настройка CMS (структура данных и бизнес-логика работы системы) – от 8 до 16 ч. Стоимость размещения сервера составит от 15 до 200 у.е. в месяц в зависимости от тарифного плана и посещаемости ресурса.

Лицензии на пакеты системы Amiro.CMS распространяются с привязкой к домену (предлагаются скидки на последующие приобретения 20–30 %, партнерские схемы предполагают скидки от 30 до 80 %). В рамках описываемой задачи стоимость одной лицензии на пакет «Бизнес» составит 23 990 руб.

Обучение администратора сайта потребует 2 ч, обучение операторов – 30–60 мин. Пользователи могут обратиться в консультационный центр Amiro.CMS (http://support.amiro.ru/).