Гость
UID:Управление лицензиями BotIQ CMS
Лицензионный ключ предоставляется владельцам официальных копий BotIQ CMS. Он открывает доступ к получению автоматических обновлений из панели управления и гарантирует техническую поддержку.
Лицензионный ключ предоставляется владельцам официальных копий BotIQ CMS. Он открывает доступ к получению автоматических обновлений из панели управления и гарантирует техническую поддержку.
Официальное руководство по работе с платформой, шаблонизатором и API
Здесь вы найдете полное руководство по установке, администрированию, верстке шаблонов и созданию плагинов для платформы онлайн-торговли BotIQ CMS.
Первичная установка, настройка файла dbconfig и запуск каталога.
Структура файлов .tpl, переменные и вызов карточек товаров.
BotIQ CMS — это универсальная система управления контентом и современная, высокопроизводительная система управления интернет-магазином, созданная на монолитном стеке PHP 8.1–8.3, SQLite 3 (WAL mode) и Vanilla JS (ES6+). Платформа разработана специально для запуска интернет-магазинов любой сложности без необходимости привлекать программистов или верстальщиков. 99% всех процессов развертывания выполняются нажатием нескольких кликов благодаря интуитивно понятному мастеру пошаговой автоматической установки.
Вам больше не нужно тратить недели на интеграцию сторонних сервисов. В ядро системы уже заложены ключевые модули для полноценной торговли: популярные платежные шлюзы, службы курьерской доставки, двухсторонняя синхронизация с учетными системами (1С:Предприятие, МойСклад), а также быстрая выгрузка каталога с крупнейших маркетплейсов (Wildberries, Ozon, Яндекс Маркет). Это сводит к минимуму время переноса и добавления товаров с нуля.
Авто-расчет стоимости
Все популярные эквайринги
Синхронизация остатков
Wildberries, Ozon, Yandex
Платформа не содержит громоздких сторонних фреймворков. Вся работа с базой данных происходит через атомарные подготовленные выражения PDO, а шаблонная обработка выполняется за один проход токенизатора.
BotIQ CMS Enterprise спроектирована как автономный e-commerce монолит на стеке PHP 8.0–8.3, сочетающий минимальную нагрузку на серверное оборудование с высокой пропускной способностью под пиковыми нагрузками.
Оптимизированное ядро с O(1) RAM-мемоизацией и подготовленными транзакциями гарантирует стабильную отдачу страниц даже на базовых VPS и недорогих тарифах хостинга.
Полная совместимость с современными версиями PHP (8.0, 8.1, 8.2, 8.3), строгая типизация, обработка ошибок через Throwable и изоляция через буферизацию вывода.
Гибкий кэш-слой: поддержка Redis, Memcached и атомарного файлового кэширования. Раздельный кэш с сегментацией по типам устройств (desktop, mobile, tablet).
Компрессор контента витрины и панели управления на лету сокращает вес HTML-страниц до 70%, ускоряя рендеринг в браузере и экономя трафик сервера.
Внутренний роутер без жесткой привязки к серверному ПО. Идеальная работа под Apache (.htaccess) и связкой Nginx + PHP-FPM, строгая изоляция пространств имён URL.
Ядро закрыто от прямого веб-доступа, защита от Directory Traversal и LFI. Встроены Honeypot-ловушки для ботов, Rate Limiting обращений и криптографическая сессионная аутентификация.
Автоматическая разметка JSON-LD (Schema.org), генерация OpenGraph и Canonical-тегов. Мгновенный протокол IndexNow для оповещения поисковых систем и многофайловый генератор XML Sitemap.
Бесшовный переход между страницами и разделами админки без перезагрузки экрана (SPA-эффект) с мгновенным откликом интерфейсов.
Реляционная фильтрация товаров по множественным параметрам (цена, бренды, дозировки, страны) без перезагрузки витрины и с автокоррекцией URL-адресов.
Быстрый беспарольный вход по коду из SMS или подтверждение через Email. Мгновенная гидратация сессии из крипто-куки без потери корзины.
Интеграция гео-карт (Яндекс.Карты) прямо в чекауте корзины. Автоматическое определение зоны доставки, выбор пунктов выдачи и пересчет стоимости курьера.
Генерация адаптивных миниатюр изображений под любые размеры экранов с кэшированием готовых превью и поддержкой внешних CDN-ссылок.
Установка BotIQ CMS проходит в полностью автоматическом пошаговом режиме через веб-интерфейс мастера инсталляции. Перед запуском установщика необходимо загрузить дистрибутив и выставить корректные права на папки и файлы сервера.
Распакуйте полученный архив с дистрибутивом и скопируйте все файлы и папки из директории /BotIQ CMS/ в корневую директорию вашего веб-сервера (обычно public_html, www или httpdocs). Для безопасной передачи данных рекомендуется использовать проверенные FTP/SFTP-клиенты (например, FileZilla или WinSCP).
Для создания кэша, загрузки фото товаров, работы плагинов и сохранения конфигурации задайте следующие права:
| Директория / Файл | CHMOD | Назначение |
|---|---|---|
| /backup/ | 777 | Хранение резервных копий СУБД |
| /templates/ | 777 | Редактирование шаблонов из панели управления |
| /uploads/ | 777 | Загрузка оригиналов изображений товаров и баннеров |
| /engine/data/ | 777 | Конфигурационные файлы ядра (config.php, dbconfig.php) |
|
/uploads/cache/ /system, /images, /files, /news, /products |
777 | Атомарный кэш страниц, миниатюры ресайзера и файлы |
| /engine/plugin/ (все подпапки) | 777 | Установка сторонних модулей и интеграций |
/engine/plugin/ установите права на запись CHMOD 666.
Откройте в браузере адрес вашего домена (например, https://website.com/). Движок автоматически перенаправит вас на страницу мастера установки install.php.
https://website.com/, а панель управления — по адресу https://website.com/admin.php.
1. Опасность перезаписи: Чистая установка скрипта полностью удаляет существующие таблицы базы данных. Если вам необходимо обновить работающий магазин, воспользуйтесь разделом «Обновление скрипта».
2. Удаление инсталлятора: Сразу после успешного входа в панель управления обязательно удалите файл install.php из корневой директории сайта. Если файл останется на сервере, злоумышленники смогут заново инициировать инсталляцию и удалить всю структуру каталога.
Для перехода на актуальный релиз BotIQ CMS предусмотрено два сценария: быстрая фоновая синхронизация из панели управления или традиционный ручной перенос архива.
Наиболее быстрый и безопасный способ, не требующий работы с FTP-клиентами:
https://ваш-сайт/admin.php?mod=license.Используется при регламентных технических работах или обновлении с архивных сборок:
/update/ из свежего пакета поверх текущей структуры сайта. Важно: перезаписывайте файлы без предварительного удаления каталогов на сервере, исключая директорию /templates/, чтобы сохранить авторскую верстку темы.admin.php) под суперпользователем — система автоматически выполнит адаптацию таблиц базы данных и применит системные патчи.Для развертывания и стабильной работы BotIQ CMS Enterprise под любыми нагрузками серверное окружение должно соответствовать следующим спецификациям:
| Веб-сервер: | Nginx (рекомендуется с PHP-FPM) или Apache 2.4+ с активным модулем mod_rewrite |
| Версия PHP: | PHP 8.0, 8.1, 8.2 или 8.3 (рекомендуется 8.2+) |
| Система управления БД: | Встроенная SQLite 3 с поддержкой WAL-режима (для внешних баз: MySQL 5.6+ или MariaDB 10.0+) |
| Оперативная память (RAM): | Минимальный лимит памяти скрипта (memory_limit) — от 64 МБ (рекомендуется 128 МБ–256 МБ) |
Все указанные библиотеки входят в базовые сборки PHP большинства хостинг-провайдеров и панелей управления:
pdo_sqlite / sqlite3
curl
mbstring
gd / gd2
zip
zlib
fileinfo
exif
intl
xml / simplexml
upload_max_filesize = 16M (или выше для массовой загрузки фото товаров)post_max_size = 16Mmax_execution_time = 60 (для стабильного экспорта/импорта номенклатуры и 1С)date.timezone — должен быть явно указан ваш часовой пояс (например, Europe/Moscow)Архитектура интерфейса BotIQ CMS предоставляет абсолютную свободу в интеграции любых визуальных решений: вы можете внедрить верстку любой сложности без программных ограничений ядра.
Все визуальные оформления хранятся в корневом каталоге /templates/. Каждая отдельная подпапка внутри этой директории выступает самостоятельным скином с персональным набором стилей, скриптов и файлов .tpl.
Для установки сторонней темы достаточно скопировать папку с макетом в каталог /templates/ и выбрать её в конфигурации платформы через раздел «Настройка системы» панели управления.
Система способна обслуживать несколько вариантов дизайна одновременно. При необходимости вы можете предоставить аудитории сайта переключатель тем, позволяя пользователям самостоятельно выбирать интерфейс.
Число публикаций и карточек каталога, подгружаемых на одну страницу витрины, настраивается в административной панели без необходимости корректировать исходный код скрипта.
Файлы шаблонов представляют собой стандартный HTML-код, дополненный специальными служебными маркерами ядра. Никаких серверных скриптов писать не требуется: вы просто размещаете готовые функциональные теги движка в нужных точках разметки. С полным списком управляющих тегов и блоков условий вы можете ознакомиться в главе «Шаблоны (.tpl)» текущего справочника.
Архитектура BotIQ CMS предоставляет клиентам встроенный сервис сохранения понравившихся позиций каталога. Отмеченные товары формируют индивидуальный список закладок аккаунта, доступный в любой момент без повторного поиска и вне зависимости от давности добавления.
Клиент сохраняет товар нажатием на кнопку с иконкой сердечка как в общем каталоге (shortstory.tpl), так и в подробной карточке изделия (fullstory.tpl).
Список формируется на уровне базы данных магазина, а не локального браузера посетителя. Пользователь получает бесшовный доступ к своим закладкам с любого смартфона, планшета или рабочего ПК сразу после входа в профиль.
Контроллер favorites.php отдает готовые отрендеренные карточки через серверный шаблон render_view, обеспечивая моментальное открытие раздела без лишней нагрузки на СУБД.
Удаление позиций из раздела избранного происходит без перезагрузки экрана: карточки плавно схлопываются, а счетчик товаров на странице автоматически пересчитывает актуальный итог.
| Элемент / Селектор | Назначение и правила интеграции |
|---|---|
| btn-wishlist / btn-action-fav | Обязательные служебные CSS-классы кнопок добавления в избранное в файлах shortstory.tpl и fullstory.tpl. |
| data-id="[id]" | HTML5 дата-атрибут с номером товара, используемый ядром для идентификации сохраняемой позиции. |
| favorite-count-badge | Служебный класс текстового узла (например, <span class="favorite-count-badge">0</span>), куда JS-ядро выводит общее число сохраненных товаров. |
| /index.php?do=favorites | Прямой системный URL-адрес для перехода на страницу сохраненных товаров (шаблон favorites.tpl). |
| [available=favorites]...[/available] | Управляющая логическая конструкция: отображает разметку исключительно при просмотре раздела избранного. |
<button type="button" class="btn-action-fav" data-id="[id]" title="Добавить в закладки">
<i class="bi bi-heart"></i>
</button>
BotIQ CMS Enterprise задействует двухуровневый механизм генерации человеко-понятных URL (ЧПУ). Названия товаров, категорий и статических страниц транслитерируются в читаемый вид, обеспечивая приоритетное ранжирование поисковыми системами (Яндекс, Google) и удобство для клиентов магазина.
При работе на веб-сервере Apache с включенным модулем mod_rewrite убедитесь, что в корневой папке вашего сайта присутствует файл .htaccess со следующими штатными правилами:
# Запрет листинга каталогов и кодировка ядра
Options -Indexes
AddDefaultCharset UTF-8
DirectoryIndex index.php index.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Проброс заголовков авторизации для обмена данными с 1C и МойСклад
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [E=HTTP_AUTHORIZATION:%1]
# Маршрутизация XML-карт сайта
RewriteRule ^sitemap\.xml$ uploads/sitemap.xml
# Системные разделы и статические документы
RewriteCond % !-f
RewriteCond % !-d
RewriteRule ^page/([^/]+)/?$ index.php?page=$1 [L,QSA]
# Корзина, личный кабинет, обратная связь и избранное
RewriteRule ^cart/?$ index.php?action=cart [L,QSA]
RewriteRule ^favorites/?$ index.php?do=favorites [L,QSA]
RewriteRule ^feedback/?$ index.php?do=feedback [L,QSA]
# Карточки товаров: /product/12-nazvanie-tovara
RewriteRule ^product/(+)(?:-.*)?/?$ index.php?product_id=$1 [L,QSA]
# Разделы каталога: /catalog/1-kategoriya или /catalog/kategoriya
RewriteRule ^catalog/?$ index.php?category_slug=catalog [L,QSA]
RewriteRule ^catalog/(+)(?:-.*)?/?$ index.php?category=$1 [L,QSA]
RewriteRule ^catalog/(+)/?$ index.php?category_slug=$1 [L,QSA]
# Фронт-контроллер: перенаправление остальных запросов в единую точку входа
RewriteCond % !-f
RewriteCond % !-d
RewriteRule . index.php
</IfModule>
Если ваш сайт функционирует под управлением Nginx (Standalone или в связке с PHP-FPM), добавьте правила изоляции системных директорий и передачи URL-параметров в блок server конфигурации виртуального хоста:
location / {
# Блокировка прямого доступа к резервным копиям и конфигурационным файлам
location ~ ^/(backup|engine/data)/ {
deny all;
return 403;
}
# Запрет выполнения скриптов в папке пользовательских загрузок и шаблонах
location ~ ^/(uploads|templates)/.*\.php$ {
deny all;
return 403;
}
# Карта сайта Sitemap XML
rewrite ^/sitemap\.xml$ /uploads/sitemap.xml last;
# ЧПУ-маршруты платформы BotIQ CMS
rewrite ^/page/([^/]+)/?$ /index.php?page=$1 last;
rewrite ^/cart/?$ /index.php?action=cart last;
rewrite ^/favorites/?$ /index.php?do=favorites last;
rewrite ^/feedback/?$ /index.php?do=feedback last;
rewrite ^/product/(+)(?:-.*)?/?$ /index.php?product_id=$1 last;
rewrite ^/catalog/?$ /index.php?category_slug=catalog last;
rewrite ^/catalog/(+)(?:-.*)?/?$ /index.php?category=$1 last;
rewrite ^/catalog/(+)/?$ /index.php?category_slug=$1 last;
# Передача ненайденных URI на фронт-контроллер ядра
try_files $uri $uri/ /index.php?$args;
}
Роутер ядра index.php принимает URL-запросы и раскладывает их по изолированным пространствам имён. При ручной модификации правил сервера необходимо строго соблюдать соответствие целевых переменных:
| Внешний ЧПУ-адрес | Целевой внутренний маршрут | Назначение |
|---|---|---|
| /product/125-vitamin-c | index.php?product_id=125 | Карточка товара. Обязателен числовой ID позиции. |
| /catalog/medicines | index.php?category_slug=medicines | Рубрика каталога по текстовому ЧПУ-слагу. |
| /catalog/12-preparaty | index.php?category=12 | Категория каталога с числовым ID (формат DLE-style). |
| /page/delivery | index.php?page=delivery | Статическая публикация по символьному имени. |
| /cart | index.php?action=cart | Корзина, этапы чекаута и оплата онлайн. |
| /favorites | index.php?do=favorites | Индивидуальный реестр закладок пользователя. |
Архитектура BotIQ CMS оснащена автономным механизмом анализа пользовательских платформ BotIQ_Device. Платформа распознает тип клиентского оборудования на лету и обеспечивает прецизионную подачу контента для смартфонов, планшетов и персональных компьютеров.
Высокоскоростная фильтрация User-Agent по сигнатурам мобильных систем: iPhone, Android Phone, iPod, BlackBerry, Opera Mini, Windows Phone.
Детекция планшетных девайсов: iPad, планшетные платформы Android, PlayBook, Kindle с сохранением сенсорных сценариев витрины.
Полноразмерная версия сайта с многоколоночными каталогами, развернутыми сайдбарами и полноформатной сеткой товаров.
$_SESSION['botiq_device_type']. Это избавляет сервер от повторного анализа заголовков User-Agent при каждом переходе по страницам каталога.
В любых шаблонах сайта (main.tpl, shortstory.tpl, fullstory.tpl) вы можете использовать парные управляющие блоки. Однопроходный парсер ядра исключает лишний HTML-код из DOM-дерева еще на этапе компиляции, экономя мобильный интернет-трафик и ускоряя рендеринг страницы:
| Конструкция тега | Условие отображения содержимого |
|---|---|
| [mobile]...[/mobile] | Блок разметки отображается исключительно на мобильных устройствах (смартфонах). На ПК и планшетах вырезается из HTML. |
| [tablet]...[/tablet] | Контент доступен только пользователям планшетных компьютеров. |
| [desktop]...[/desktop] | Содержимое рендерится строго на экранах ПК и десктопных браузеров (скрыто для мобильных платформ). |
[desktop]
<!-- Правый закрепленный блок чекаута для компьютеров -->
<div class="desktop-buy-sidebar">
<button type="button" class="btn-cart">Купить в 1 клик</button>
</div>
[/desktop]
[mobile]
<!-- Фиксированная плавающая панель покупки внизу экрана телефона -->
<div class="botiq-mobile-fixed-action-bar">
<button type="button" class="btn-cart-mobile">В корзину [price] {cur_code}</button>
</div>
[/mobile]
Серверный слой кэширования BotIQ CMS (в связках с Redis, Memcached или файловым хранилищем) автоматически добавляет суффикс устройства в ключ кэша страниц:
_m — кэшированная версия интерфейса для мобильных телефонов._t — скомпилированная копия разметки для планшетов._d — полноформатный кэш для стационарных компьютеров.Благодаря этому мобильный пользователь никогда не получит застрявший в кэше «десктопный» вариант верстки, и наоборот.
Форма создания номенклатуры позволяет зарегистрировать новую товарную позицию, привязать её к категории, распределить остатки по складам и настроить фасетные свойства для фильтрации на витрине.
| Параметр | Назначение и правила заполнения |
|---|---|
| Название позиции | Обязательное поле. Торговое наименование товара, отображаемое в каталоге, чекауте и документах заказа. |
| Артикул (SKU) | Уникальный внутренний идентификатор номенклатуры для складского поиска и синхронизации с 1С / МойСклад. |
| Категория | Раздел каталога. При выборе категории система мгновенно подгружает привязанные к ней дополнительные поля (XFields) и свойства фильтра. |
| Ценообразование | Задается розничная цена и опционально «Старая цена». Если указана старая цена, система автоматически рассчитывает процент скидки и активирует бейдж распродажи. |
| Складской учет | В одиночном режиме задается общий остаток. В режиме Multi-Warehouse открывается матрица распределения наличия и индивидуальных цен по филиалам. |
| Галерея WebP Engine | Загрузка нескольких фотографий одновременно. Изображения автоматически конвертируются в оптимизированный формат WebP с возможностью сортировки порядка перетаскиванием (Drag & Drop). |
| Специальные флаги | Тумблеры системных отметок («Хит», «Без рецепта», «Акция»), управляющие выводом бейджей и фильтрацией в боковом меню. |
Модуль предоставляет два инструмента обновления данных: полнофункциональный модальный редактор карточки и мгновенное инлайн-редактирование параметров прямо в строках таблицы без перехода со страницы.
Клик по цене, названию или артикулу в общем списке товаров активирует поле ввода. Новые значения сохраняются в базе по нажатию Enter или клику вне поля (событие blur) через точечные AJAX-запросы без перезагрузки экрана.
Чекбоксы выбора строк активируют верхнюю панель групповых действий: массовое изменение розничных цен, перенос пула товаров в другую категорию, пакетное обновление остатков или безвозвратное удаление с авто-очисткой привязанных картинок с диска.
Раздел профиля предназначен для персональной конфигурации учётной записи управляющего сайтом, смены контактных реквизитов и обновления криптографических данных авторизации.
Центральный пульт управления магазином разбит на тематические блоки и сохраняет параметры в файле config.php с атомарной блокировкой записи LOCK_EX.
| Вкладка настроек | Функционал и регулируемые опции |
|---|---|
| Общие | Название магазина, домашний URL, Speedbar, часовой пояс сервера, выбор активной темы оформления и перевод сайта в режим обслуживания. |
| Заказы | Конструктор этапов и статусов заказов (коды N, P, VO, Z), правила авто-начисления бонусов и звуковые оповещения о новых заявках. |
| Корзина | Лимит минимальной суммы покупки, стоимость доставки, политика действий при нулевом остатке (блокировка, предзаказ, аналоги) и гостевой чекаут. |
| Оптимизация | Драйверы кэширования (Файловый, Redis, Memcached), компрессия HTML-страниц алгоритмами Gzip / Brotli и время жизни кэша (TTL). |
| Почта | Шлюз отправки писем (PHP Mail или защищенный SMTP), шаблоны сервисных писем покупателям и отчеты менеджеру. |
| Доступ | Способы клиентской авторизации (по SMS-коду, Email или связке логин/пароль), роли по умолчанию и интеграция Telegram Widget. |
| 1С и МойСклад | Шлюз CommerceML, API-реквизиты учетной системы, авто-обновление цен, остатков и двухсторонний обмен статусами заказов. |
Служит для публикации постоянных информационных разделов магазина, не требующих частого изменения: условий доставки, гарантийных обязательств, пользовательских соглашений и контактов.
https://website.com/page/delivery (или index.php?page=delivery при отключенном перенаправлении).botiq-static-wrapper, что исключает конфликт встроенного HTML-кода с общей версткой темы.static-contacts.tpl), указав его имя в поле «Шаблон страницы».Позволяет детально разграничить полномочия покупателей и сотрудников магазина. Базовые системные роли (ID 1–5: Администратор, Менеджер, Клиент, Гость) защищены от случайного удаления.
admin.php. Менеджерам открываются только разрешенные модули, полный доступ имеют только администраторы.
Обеспечивает построение иерархического каталога товаров любой глубины вложенности с поддержкой ручной сортировки порядка и генерацией SEO-метатегов.
Механизм расширения карточки товара произвольными характеристиками (форма выпуска, состав, показания, дозировка) без изменения структуры базы данных.
| Тип поля | Тег вывода | Назначение |
|---|---|---|
| Одна строка | [xfvalue_имя] | Короткий текст (объем, производитель, артикул поставщика). |
| Многострочный | [xfvalue_имя] | Развернутое текстовое поле для инструкций, составов и схем применения. |
| Список (Select) | [xfvalue_имя] | Выпадающий список фиксированных значений, разделенных символом переноса строки. |
| Переключатель | [xfgiven_имя]...[/xfgiven_имя] | Логический флаг «Да/Нет» для условного показа блоков верстки. |
Привязка к рубрикам: каждое поле можно назначить глобально для всех товаров магазина либо ограничить выбранными категориями (при смене категории в редакторе лишние поля скрываются автоматически).
Служба аудита протоколирует ключевые события системы: попытки авторизации в панель управления, ввод одноразовых паролей (OTP) и модификацию заказов.
Архитектура тем BotIQ CMS полностью отделяет дизайн от программного ядра PHP. Все темы хранятся в изолированных папках внутри каталога /templates/ и состоят из стандартных файлов HTML-верстки с расширением .tpl.
{include file="modules/header.tpl"}).../), гарантируя выполнение разметки строго внутри каталога авторизованной темы.
Файл main.tpl является фундаментом темы. Он задает общую структуру HTML-документа, подключает стили, шрифты, скрипты шапки и подвала, а также определяет точку вывода активного модуля.
| Тег | Назначение в каркасе |
|---|---|
| {seo_headers} | Обязателен в секции <head>. Выводит кодировку, Title, Description, Canonical и метатеги соцсетей. |
| {content} | Центральная точка монтирования. Сюда ядро подставляет результат работы запрошенной страницы (каталог, карточку, корзину, профиль). |
| {cart_count} / {cart_total} | Интерактивные виджеты количества товаров и текущей стоимости корзины в шапке сайта. |
| {speedbar} | Навигационная цепочка «хлебных крошек» со ссылками на вложенные каталоги. |
| {site_config} | Обязательный системный тег внизу страницы. Инжектирует конфигурацию window.siteConfig для живого поиска и чекаута. |
| [available=main]...[/available] | Условный тег для показа блоков исключительно на стартовой странице (слайдеры, баннеры, преимущества). |
Файл shortstory.tpl описывает верстку одного товара в общей сетке каталога, поисковой выдаче, блоках похожих позиций {related} и каруселях {custom}.
| Тег / Селектор | Назначение |
|---|---|
| [full-link] | ЧПУ-адрес для перехода на полную карточку товара. |
| [image] | Скомпилированный URL оптимизированной обложки через серверный ресайзер картинок. |
| [price] / [price-raw] | Форматированная стоимость для пользователя и неформатированное число (Float) для JS-расчетов. |
| [if_old_price]...[/if_old_price] | Блок перечеркнутой базовой цены. Срабатывает только при наличии действующей скидки. |
| [bonus-promo]...[/bonus-promo] | Бейдж повышенного начисления баллов за объем покупки (например, от 2 шт.). |
| btn-add-to-cart | Обязательный класс кнопки заказа. Должен содержать дата-атрибуты data-id="[id]", data-price="[price-raw]" и data-stock="{stock}". |
Файл fullstory.tpl управляет главной страницей единицы номенклатуры. Отвечает за галерею с зумом, переключение складов, расчет кэшбэка, характеристики XFields, инструкцию и прикрепленный модуль отзывов.
{stores_word}.{include file="reviews.tpl"} выводит блок модерации, рейтинг и форму публикации нового отклика.
Шаблон category.tpl задает компоновку страницы каталога. Объединяет хлебные крошки, фасетный сайдбар фильтрации, переключатель вида (сетка/список) и контейнер вывода товаров.
{category_h1_title} — заголовок текущей категории (в режиме поиска автоматически трансформируется в поисковый запрос клиента).{total_products} — точное количество найденных активных товаров с учетом выбранных фильтров цены, брендов и наличия.{botiq_sidebar_filter} — готовый скомпилированный боковой сайдбар с чекбоксами характеристик, ползунками цен и фильтрами по филиалам.{products} — список отрендеренных карточек каталога (по шаблону shortstory.tpl).{pagination} — блок постраничной навигации либо кнопка бесконечной подгрузки товаров (AJAX-лоадер).
Файл reviews.tpl отвечает за визуализацию оценок покупателей, разбивку по звездам от 1 до 5, публикацию достоинств/недостатков и модальную форму с антиспам-ловушкой Honeypot.
{reviews_list} — список опубликованных модератором отзывов с разделением на плюсы, минусы и текст комментария.{avg_rating} — средний балл товара (от 1.0 до 5.0) с сохранением дробной части.{reviews_count} — общее количество оставленных мнений.{rating_percent_5} ... {rating_percent_1} — процентные доли оценок для заполнения полос прогресс-баров шкалы рейтинга.{rating_count_5} ... {rating_count_1} — точное число покупателей, поставивших соответствующую оценку.
Все файлы чекаута изолированы в подкаталоге темы /templates/ВашаТема/cart/. Это гарантирует независимость логики оформления от основного макета.
cart/cart.tpl — основной интерфейс корзины: выбор способа доставки (курьер/самовывоз), ввод промокода и расчет суммы.cart/item.tpl — шаблон строки позиции товара для клиентской отрисовки через Vanilla JS без перезагрузки экрана.cart/success.tpl — экран подтвержденного заказа. Поддерживает разделение сценариев онлайн-оплаты [pay-success] и наличного расчета [pay-standard].cart/failure.tpl — информационный экран при отклонении транзакции банком с кнопкой повторной попытки платежа.
Файл profile.tpl задает структуру личного кабинета. Работает по технологии SSR с поддержкой вкладок истории покупок, баланса бонусов и редактирования персональных данных.
{fullname} / {first_letter}
{balance}
{recent_orders}
{orders_total}
Файл feedback.tpl управляет формой клиентских обращений в службу заботы. Включает автоматическую подстановку данных авторизованного пользователя и скрытую антиспам-защиту.
{prefill_name} — подставляет сохраненное имя клиента в поле value.{prefill_email} — автоматически вставляет верифицированный адрес электронной почты.{prefill_phone} — номер телефона пользователя из базы данных.{form_time} — скрытая временная метка (Time Delta Shield) для отсечения автоматических спам-ботов.{support_phone} и {support_email} — системные контакты аптеки/магазина из конфигуратора.
Файл static.tpl рендерит информационные статьи (о компании, доставка, гарантия, лицензии). Текст публикации изолируется для сохранения мобильной адаптивности.
{title} — заголовок страницы, указанный при создании в панели управления.{content} — скомпилированное тело статьи в защитной обертке botiq-static-wrapper.{date} — дата публикации материала в формате ДД.ММ.ГГГГ.{slug} — ЧПУ-идентификатор документа (например, delivery или about).
Файл info.tpl используется ядром для отображения служебных предупреждений: страницы 404 (документ не найден), блокировок доступа и информационных сообщений платформы.
{title} — заголовок системного окна (например, «404 - Страница не найдена» или «Доступ ограничен»).{info} / {error} — подробный текст пояснения с рекомендацией вернуться на главную страницу или в каталог.Архитектура BotIQ CMS Enterprise поддерживает модульное расширение без модификации исходного кода ядра, что сохраняет работоспособность сторонних доработок при обновлении скрипта.
Пользовательские скрипты витрины размещаются в каталоге /engine/modules/ и вызываются в разметке шаблонов через тег подключения:
{include file="engine/modules/my_custom_block.php"}
Вывод данных из файла модуля осуществляется стандартной функцией echo. Внутри подключаемого файла доступны глобальные переменные ядра:
$db — экземпляр PDO SQLite для безопасного выполнения подготовленных выражений.$sys — глобальный массив конфигурации магазина из config.php.$member_id — массив параметров авторизованного пользователя или null для гостя.$cur_code / $cur_sym — буквенный код и визуальный знак валюты сайта.$cache — системный кэш-драйвер для сохранения тяжелых выборок.
Новые разделы административной части создаются в каталоге /engine/inc/ в виде отдельного PHP-файла. Доступ к интерфейсу формируется по системному URL:
https://website.com/admin.php?mod=mymodule
Шаблон страницы возвращается в переменную $admin_content через буферизацию вывода ob_start() ... $admin_content = ob_get_clean();, что встраивает интерфейс в единый дашборд.
Службы онлайн-эквайринга изолируются в /engine/plugin/payment//. Ядро автоматически подгружает плагин при чекауте через стратегию вызова функции payment_init_($order_id, $amount, $config), исключая зависимость от сторонних библиотек.
Платформа предоставляет встроенный API-шлюз для взаимодействия с мобильными приложениями, Telegram Mini App, внешними ERP-системами и службами логистики.
| Метод | Маршрут URL | Назначение и формат ответа |
|---|---|---|
| GET | /api/get_products | Выгрузка каталога с поддержкой параметров пагинации (page), категории (cat) и поискового запроса (q). |
| POST | /index.php?api=save_order | Создание заказа из фронтенда или внешнего приложения. Принимает JSON-пакет с товарами, адресом, гео-координатами и промокодом. |
| GET | /index.php?api=check_promo | Валидация купона скидки по коду (?code=SALE20) с проверкой лимита использований и срока действия. |
| POST | /index.php?api=calc_yandex_delivery | Расчет стоимости курьерской доставки по координатам клиента и ближайшему активному складу. |
| POST | /index.php?api=yandex_webhook | Служебный вебхук приема статусов курьера от логистической платформы с подтверждением HTTP 200 OK. |
Все эндпоинты возвращают заголовки Content-Type: application/json; charset=utf-8 и стандартную обертку статуса операции:
{
"success": true,
"order_id": 1042,
"payment_url": "https://payment-gateway.com/pay/order_1042",
"bank_error": null
}
Средства для профилактики болезней суставов для приема внутрь
{out_of_stock_notice}