Прайс-листы услуг для Webasyst

Таблицы, которые не нужно верстать

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

Хранение таблиц в едином месте

Зачем это нужно

Прайс-лист на сайте — вещь неудобная. Его нужно регулярно обновлять, а любое обновление — это правка вёрстки. Менеджер присылает новую цену, разработчик лезет в HTML, правит ячейку, проверяет, что таблица не поехала. Так повторяется каждый раз. Если прайс-листов несколько — по видам услуг, по категориям оборудования, по регионам, — процесс превращается в рутину.

Modpricelist убирает вёрстку из этой цепочки. Таблицы живут в админке, как обычные данные. Менеджер открывает панель, правит цену, сохраняет — и на сайте уже новая цифра. Разработчик в это время занимается чем-то другим.

Как это работает

Прайс-листы услуг: создание таблицы, настройка полей, вывод на сайте.

Всё начинается с создания прайс-листа. Вы даёте ему название — «Настенные сплит-системы», «Кассетные кондиционеры», «Сервисное обслуживание» — и описываете колонки. Колонки не фиксированы: для одного прайса это наименование, мощность, площадь и цена, для другого — модель, производитель, гарантия, стоимость. Поля настраиваются под конкретную задачу, а не наоборот.

Дальше — наполнение. Строки добавляются в панели, данные сохраняются автоматически при изменении поля. Порядок прайс-листов и строк внутри них меняется перетаскиванием мышью. Если таблица уже есть в Excel — её можно импортировать из CSV, в том числе drag & drop. Обратно — выгрузить в CSV, который Excel откроет без вопросов.

Что получается на выходе

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

Например, получить все прайс-листы можно вызовом getPriceLists(), один по ID — getPriceList($id), по названию — getPriceListByTitle($title). Готовая HTML-таблица возвращается методом getPriceListTable($id), а все таблицы сразу — getAllPriceListTables().

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

Кому подходит

Плагин создавался для сайтов, где прайс-лист — это живой контент, а не картинка. Компании, которые продают и устанавливают оборудование: кондиционеры, вентиляцию, отопление. Сервисные компании с перечнем услуг и расценок. Строительные подрядчики с типами работ. Учебные центры с курсами и стоимостью обучения.

Везде, где таблица обновляется чаще, чем раз в год, и где за обновление не хочется платить разработчику — плагин снимает эту задачу с обеих сторон.

Технические детали

Плагин работает на Webasyst 2.0 и выше, требует приложение «Сайт» и PHP 7.4 или новее. Устанавливается через Магазин Webasyst. Поддерживает и старый, и новый интерфейс панели управления.

Данные хранятся в базе данных плагина, централизованно. Вывод в шаблонах — через хелпер плагина, без прямых запросов к базе. Импорт и экспорт CSV работают с разделителями «точка с запятой» и «запятая» — на случай, если Excel настроен нестандартно.

Формат CSV для импорта

Первая строка — заголовки полей. Дальше — строки данных. Разделитель — точка с запятой или запятая.

Наименование;Мощность;Площадь;Цена
Установка кондиционера 07;2,0 кВт;20 кв.м.;16 500 руб.
Установка кондиционера 12;3,5 кВт;35 кв.м.;17 000 руб.

Такой файл можно подготовить в Excel, в Google Таблицах или выгрузить из другой системы — плагин разберёт его без ручной правки.

Купить и установить

Плагин доступен в магазине Webasyst. Установка — через ваш «Инсталлер», отдельно скачивать ничего не нужно.

Если нужна помощь с внедрением, доработкой под вашу тему или переносом существующих прайс-листов — напишите нам, разберёмся.

Работаем по всей Росcии и городам


Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем Куки 🍪