Готовая CMS решает типовые задачи, но у каждого магазина находится своя: служба доставки, которой нет в стандартной поставке, нестандартная скидка, выгрузка на маркетплейс, обмен с учётной системой. Нужного расширения может не быть вовсе, а те, что есть, порой решают задачу наполовину. Править ради этого ядро CMS — значит потерять возможность обновляться. Мы решаем такие задачи модулями: отдельным кодом, который подключается к системе её штатными средствами и не мешает обновлениям. Модуль можно установить, отключить и обновить независимо от остального сайта, а при смене подрядчика — передать другому разработчику.
Готовый модуль или заказной
Работаем в двух форматах. Готовые модули рассчитаны на распространённые задачи — их мы публикуем в собственном магазине модулей по мере выхода. Заказные модули пишем под задачу конкретного проекта, когда готового решения нет или оно не учитывает ваш процесс. Готовый модуль обходится дешевле разработки, заказной делает ровно то, что нужно вам. Иногда разумнее третий путь — доработать то, что уже установлено. Какой вариант дешевле и надёжнее, говорим после того, как посмотрим сайт.
Что разрабатываем
- Интеграции. Платёжные системы, службы доставки, маркетплейсы, CRM, 1С — с передачей заказов, статусов, остатков и цен.
- Каталог. Дополнительные свойства и фильтры, варианты товаров, правила цен и скидок, массовая загрузка и обновление позиций.
- Оформление заказа. Свои шаги и поля, расчёт доставки, проверка введённых данных, статусы и уведомления.
- Обмен данными. Импорт и экспорт товаров, остатков, цен и заказов — по расписанию или по событию.
Для каких систем
Основные платформы — 1С-Битрикс, OpenCart и WordPress, включая магазины на WooCommerce. Модули для других CMS разрабатываем по запросу: сначала изучаем, какие способы расширения даёт система, и только потом даём оценку. У каждой платформы свои механизмы расширения: события и компоненты в 1С-Битрикс, события и модификации в OpenCart, хуки в WordPress. Мы пользуемся ими и не трогаем ядро, чтобы модуль корректно работал рядом с чужими расширениями и не мешал обновлять CMS.
Перед началом смотрим установленные расширения и доработки шаблона: от них зависит, как модуль встроится в ваш сайт. Версии тоже имеют значение — модуль пишется под те версии CMS и PHP, которые стоят у вас, с оглядкой на ближайшие обновления.
Как идёт работа над заказным модулем
Описываем, что модуль должен делать и чего он делать не должен, согласуем смету. Разрабатываем и проверяем на копии вашего сайта, а не на работающем магазине. Настройки выносим в административную панель: ключи доступа, статусы, соответствие способов доставки и оплаты меняются без правки кода. Если модуль обменивается данными с внешней системой, ведётся журнал обмена — по нему видно, что и когда было передано. После приёмки устанавливаем модуль на боевой сайт и передаём исходный код. Если сайту нужны не только модули, но и регулярные исправления и обновления, это отдельная услуга — поддержка и развитие сайтов.