Features
← All features
Shop engine

CartiX

Screenshots are coming soon.

A detailed description is on its way.

Тема «Базовая» (default)

Референс-структура темы витрины CartiX (Smarty 5, шаблоны .html).

Структура

themes/default/
├── theme.json              # манифест: имя, версия, СХЕМА настроек
├── theme.png               # превью для галереи тем
├── templates/              # Smarty-шаблоны страниц
│   ├── layout.html         # каркас (наследуется всеми через {extends})
│   ├── home.html           # главная
│   ├── category.html       # листинг категории
│   ├── product.html        # карточка товара
│   ├── list.html           # страница списка товаров (is_page)
│   ├── brand.html          # страница бренда
│   ├── tag.html            # страница тега
│   ├── page.html           # CMS-страница
│   ├── search.html         # результаты поиска
│   ├── cart.html           # корзина (этап 3)
│   ├── checkout.html       # чекаут (этап 3)
│   ├── partials/           # переиспользуемые куски
│   │   ├── header.html  footer.html  product-card.html
│   │   ├── breadcrumbs.html  pagination.html  filters.html
│   │   └── (sort-bar, sku-options, services, product-features …)
│   └── blocks/             # контент-блоки
│       ├── hero.html
│       └── product-list.html   # вывод подборки (getList)
├── assets/                 # статика темы
│   ├── css/theme.css
│   ├── js/theme.js
│   ├── images/
│   └── fonts/
└── locale/                 # переводы строк темы
    ├── ru.json  uk.json  en.json

Ключевые механизмы

  • Клонирование: тема копируется целиком в новую папку (полная независимая копия, без наследования). Правки клона ни на что не влияют; обновления базовой темы в клон не переносятся — это самостоятельная тема.
  • Настройки (schema-driven): описаны в theme.json → settings.groups, редактор строит форму автоматически. Значения хранятся per-витрина, попадают в шаблоны как $theme.*.
  • Функции тем: {url}, {trans}, {money} (готовы), {getList} (вывод подборок), {hook} (точки расширения для плагинов — работают нативно на Smarty).
  • Данные: контроллер витрины собирает контекст (товар/категория/список/фильтры) и передаёт в шаблон. Логику в шаблонах не пишем — только вывод.
  • Безопасность: песочница Smarty (без {php}, автоэкранирование HTML).

Точки расширения (hooks)

storefront.head, storefront.body.start/end, header.end, footer.*, home.after.lists, product.after.buy, product.bottom, product.card.footer, catalog.filters.end, checkout.fields. Плагин подписывается — вставляет свой HTML.

1.24.1 04.08.2026

The selected orders are always visible

In the «Several orders» dialog the ticks survive paging and filter changes — that is how a batch is put together. But as soon as the status was changed, the ticked orders left the screen: more was printed than could be seen.

The selected orders are now shown in a row above the list. Each one is removed with a click, with «Clear all» next to them.

1.24.0 04.08.2026

Order picking for add-ons

The «Several orders» dialog the shop uses to print forms in batches can now be opened by add-ons too. An add-on button inside an order asks which orders to work with: the order it was pressed from is ticked straight away and the rest are added to it. Such buttons also appeared in the order list header, next to form printing.

The first to use this is the «Price tags and labels» add-on: stickers for the day shipment print as a single batch. Only the orders the member of staff is allowed to see appear in the picker.

1.23.0 04.08.2026

Product barcode and the groundwork for label printing

Every product variant now has a «Barcode» field — until now there was nowhere to keep the code from the package. The product is found by it in search just like by its SKU: holding a scanner to the package is enough.

The groundwork for printing tags and labels is now in place: the catalogue and the product page can show add-on buttons. The printing itself arrives with the «Price tags and labels» add-on, installed separately from the marketplace.

1.22.1 04.08.2026

Variants are labelled the way the shop named them

When a product has several SKUs without buy options, the variant switcher is now labelled with their names (“black”, “white”) — the way the shop owner named them. Previously, if a numeric per-SKU feature was set up, the labels were silently replaced by its values (“275 g”, “290 g”). The feature is only used when the SKUs have no names.

1.22.0 04.08.2026

Per-SKU features and variant choice on the product page

A feature can now be set not only on the product but on each SKU — a number, text, date or yes/no. Previously the «set values for SKUs» switch only worked for list-based features: a numeric one was saved but there was nowhere to fill it in.

A product whose SKUs are not told apart by buy options now lets the shopper choose: the switcher is built from the SKU’s numeric feature (“10 pills” / “30 pills”), or from SKU names when there is none. Before that there was no choice at all and the product always sold as its default SKU. Per-SKU features are shown on the product page and follow the selected variant.

1.21.0 03.08.2026

Points are visible where people look for them

The order card now has a «Paid with points» line — before, a manager saw the total and could not tell how it added up. The customer card now shows the account: balance, movement history with links to orders and expiry dates, plus adding or taking points by hand — for a delay, for a review, as an apology. Every such move is signed by the employee.

Checkout

Typing an amount of points now recalculates the order immediately, not only the «All» button. Both fixes came from live testing: the field accepted a number while the total stayed the same.

1.20.0 03.08.2026

Customer bonus points

Shoppers now have a bonus account: they see the balance and history in their account and pay for part of an order with points right at checkout. What was spent is shown as its own line in the totals, and a cancelled order returns the points.

How much to earn and how much may be spent is set by the «Bonus points and loyalty» add-on. The shop itself makes sure points cannot exceed the balance and that the order total adds up to the last cent.

Small things

The order log no longer signs a shopper action with an employee name.

1.19.2 03.08.2026

Browser notifications and the shop on a phone

Your shop gets a free communication channel: a shopper allows notifications once and hears about their order, restocked items and discounts even with the site closed. Notifications sit next to email and SMS — same events, same texts, same log — and the same channel sends broadcasts.

The same add-on turns your storefront into an app: shoppers add it to the phone home screen.

Broadcasts no longer claim false success

A broadcast whose channel is unavailable now stops with a clear explanation. Previously it was marked as sent without delivering a single message. Installing an add-on also restarts the task worker, so a new channel works right away.

1.18.0 03.08.2026

An assistant answers common questions

You set the shopper's words and a ready answer — the shop replies by itself, shows matching products or calls a manager. The conversation shows the answer was automatic, so your manager never repeats it.

1.17.0 03.08.2026

An order straight from the conversation

A shopper lists product codes, the shop recognises them with quantities and offers to add everything at once, while the manager gets an order form already filled in.

1.16.0 03.08.2026

You can see what the shopper already picked

The card now shows what is in their cart — together with the question itself, not after it. Half of all chat questions are about exactly that.

1.15.0 03.08.2026

You can see who you are talking to

Every question now comes with a card about the person: a known shopper with their phone and purchases, a guest with the page, device and where they came from. A plain message is enough to reply — no need to use «reply».

1.14.0 03.08.2026

Website questions arrive in Telegram

A shopper's chat message is forwarded to whoever answers in Telegram, and their reply goes back to the shopper. You can answer from your phone without opening the shop.

1.13.0 03.08.2026

Admin sections now look the same

Section headers, buttons, panels and tabs now look and behave the same everywhere. Previously every screen was laid out on its own, and sections slowly drifted apart.

Add-on sections — «Callback requests», «Back-in-stock notifications», «Short links» — were brought to the same look: content sits in the section card, and filtering by state moved to the left panel with counters.

Product search in the admin works like the storefront

The product picker in an order used to search its own way — strict name matching. A manager could not find what a customer found on the storefront.

Now everywhere you pick a product — order contents, accessories, product lists, gifts, discounts, promotions, campaigns — the same search and the same settings apply as for customers: synonyms, wrong keyboard layout, latin and cyrillic, ranking by importance. Suggestions now show product photos. An exact article code is always found.

The order editor was rewritten

  • Editing has its own address: you can share the link, and «back» returns to viewing.
  • «Edit» from the workspace opens editing straight away — before you had to press the button a second time.
  • Customer on the left, order contents on the right, delivery and payment below.
  • A line item takes one row: quantity, price and sum on the right.
  • The shipping method is picked from a list, and carrier fields load after the choice.

Small things you notice

  • Dropdowns no longer sit empty with no hint — across the whole admin.
  • The «Shop name» field now explains where customers see it.
  • The product list code hint is written in plain language.
1.12.0 03.08.2026

Repeat an order

Your manager opens a new order pre-filled from the previous one, with prices and stock checked again.

1.11.0 03.08.2026

Gifts with an order

The shop can hand out a product as a gift: its price is not touched by discounts and stays at zero all the way to checkout.

1.10.4 02.08.2026

Order items grouped by warehouse

Order lines are sorted the way they are picked: by warehouse.

1.10.3 02.08.2026

A notification for any order status

An email or message to the shopper can be tied to any status, including the ones you created.

1.10.2 02.08.2026

Product columns in your own order

The column order in the product table stays exactly as you arranged it.

1.10.1 02.08.2026

Orders remember the customer fields you need

The fields you set up at checkout are stored in the order and shown to your manager.

1.10.0 02.08.2026

Install and reset never leave you without a storefront

After installation and after a reset the shop stays usable: storefront, theme and settings are in place.

1.9.1 31.07.2026

One customer, one card. Phone numbers are stored in international format everywhere, so a local number and its +380 form are no longer two different people, and the phone field no longer accepts arbitrary text. A guest whose number already has an account is asked to sign in instead of getting a third card. Registration and social sign-in pick up the card of someone who previously ordered as a guest, and editing a card in the admin now carries the phone and email over to their account. Existing duplicates are cleaned up with the Find duplicates button in Contacts: orders, conversations and field values move to the card you keep.

1.9.0 31.07.2026

Order status names are now translated into the shop languages. Customers see the status in their own language in the account and in emails, and the name for each language is set in Localization → Order statuses. Existing names are kept as the shop main language.

1.8.1 30.07.2026

Print several orders at once

Select orders on your desk and print waybills or forms as a batch instead of one by one.

1.8.0 30.07.2026

Scheduled catalog promotions start and end on their own again: the task responsible for it failed on every run, so an expired promotion kept discounting.

The password recovery e-mail moved into the Notifications section — its wording, language and channel are now configured like every other customer letter.

The E-mail channel got a «Do not verify the server certificate» switch, for a mail server of your own with a self-issued certificate.

The mail check in diagnostics now reads the shop settings instead of a configuration file and shows your mail server.

Fixed the test message in the channel settings: the recipient address was lost while saving.

1.7.1 30.07.2026

Links to your shop look tidy

A section gets its own social image and a page its own description, so a shared link shows exactly what it should.

1.7.0 30.07.2026

Make the shop look like yours

The browser tab icon is uploaded right in the settings instead of being pasted as a URL. You compose the admin menu yourself: your own set of items, separate menus for the shop and articles, a single-row top menu.

1.6.1 29.07.2026

Исправлено: ссылка на заказ в личном кабинете покупателя вела на пустую страницу. Тема «Промо»: выровнено оформление — единый вид кнопок, одинаковая высота карточек товара, на телефоне ленты товаров листаются и видно, что их можно листать, заработала кнопка «Каталог» в нижней панели.

1.6.0 28.07.2026

Seller details are now sets: if your storefronts trade under different legal entities, each prints documents with its own data, and at print time you can choose whose name the invoice goes out under. They live under the Company details tab of Print forms; anything filled in earlier moves across on its own. Order numbers: the shop stores the number itself, while a prefix such as «#100» is added when it is shown — so transferred orders carry it too, and the format can be changed at any time. After a move, new orders continue the old shop numbering. The badge next to Orders counts the statuses you pick in the order settings.

1.5.3 28.07.2026

Fixed category transfer: in the previous version categories did not move at all. The connection check no longer confuses an unreachable database with someone else\x27s — the reason now comes from the database server itself and stays on screen. Attribute values and the names of categories and products arrive filled in for every language of the shop, even when the old shop translated only some of them. The orders workspace now has print forms and add-on buttons, which used to live only on the full order page.

1.5.2 28.07.2026

Moving from another platform no longer depends on the scheduler: the transfer runs from the shop window, batch by batch, and two batches no longer step on each other — that is what used to lose individual products. Attribute values now arrive filled in for every language of the shop, even when the old shop translated only the names. Orders can be printed: an invoice and a delivery note, with layouts edited under Print forms. Add-ons can now put their own buttons and blocks right on the order page.

1.5.1 28.07.2026

Orders can now be printed: an invoice and a delivery note. The layouts are edited to suit your bookkeeping under Settings → Print forms, with a preview on a real order and a way back to the factory look. Seller details live under Settings → Company details. Linking directories during a move is clearer: blocks are collapsed, you can see what will be linked, and matching names can be linked in one click. Product types in an attribute are picked from a list.

1.5.0 28.07.2026

The Installer section brings the add-on and theme store, everything you have installed, updates and file installs together in one place. An update now starts the moment you press the button instead of waiting for a schedule. Before it runs you can see whether the server is ready, what might stop working and whether there is a recent backup. Settings for installed plugins moved to their own Plugins section.

1.4.1 28.07.2026

Обновление начинается сразу по кнопке, а не по расписанию, и показывает честный ход установки. Названия статусов старого магазина при переезде.

1.4.0 28.07.2026

Две темы оформления со светлым и тёмным видом. Варианты покупки прямо в каталоге: покупатель выбирает цвет или объём памяти на карточке, меняются фото, цена и наличие. Доп-услуги товара доходят до корзины. Раздел «Акции»: страница акции со сроком и скидкой на подборку. Темы ставятся из маркетплейса. Исправлен переезд с Webasyst напрямую из базы.

1.3.8 27.07.2026

Order migration no longer stops at the ten-thousandth order and no longer passes itself off as finished.

For some numbers the old shop answers incorrectly and invents the record count; about 15% of orders actually arrived. Orders are now walked by record count, every batch is verified, and on failure the migration stops with a reason.

Option names are now translatable. Products, categories and features had translations while the purchase option («40 W», «Blue», «XL») did not, leaving half a card untranslated in a multilingual shop.

Purchase totals are recalculated by the shop itself: if the task queue stalled, the Customers section could show zeros for everyone.

Database backups work on hosting that forbids starting helper programs.

Diagnostics shows your hosting limits and explains what each one changes for your shop.

The button that opens access to photos explains what to do instead of showing a technical error.

1.3.7 27.07.2026

Migrating a shop from another platform in the background no longer stalls. It was not making a single step: the counter froze while the migration still counted as running.

Migrating customers is noticeably faster. Looking up people you already have scanned the whole contact list for every single person, so each thousand made the migration slower.

The Stop button now works: previously the migration resumed by itself after three minutes. And a migration stopped by a real problem is no longer revived endlessly — it stops and shows the reason.

Database backups work on hosting that forbids starting helper programs. On such hosting a backup could previously neither be made nor restored at all, and the owner saw a technical error.

Diagnostics now shows your hosting limits and explains what each one changes for your shop — before something breaks, not after.

The task queue no longer reports work it did not do: customer emails, exports and updates run to completion. Tasks also run during maintenance mode — previously the very update that switched the mode on could not finish.

The button that opens access to photos explains what to do instead of showing a technical error.

1.3.6 27.07.2026

The queue is now processed on hosts where pcntl functions are disabled: previously the worker crashed, so no emails were sent, no updates applied and background migration stood still.

1.3.5 27.07.2026

The schedule now works on hosts where proc_open and pcntl are disabled: previously not a single task ran — no emails, no queue, no migration — while cron reported success.

1.3.4 27.07.2026

Diagnostics no longer claims the scheduler is dead while cron is running. Background migration resumes by itself after a broken chain, and the on-screen counter stops freezing.

1.3.3 27.07.2026

Key fix: the scheduler crashed on hosts where pcntl functions are disabled, so neither the queue nor background migration ran even though cron was fine. An unfinished migration now reopens by itself after a page reload. Migrated customers appear in the section right away.

1.3.2 27.07.2026

Fixed: a single interrupted task run muted the whole schedule for a day, and diagnostics reported a dead scheduler while cron was fine. Added a «Release scheduler locks» button.

1.3.1 27.07.2026

The update now says what it is doing: queued, downloading, verifying, replacing files. All labels and the changelog arrive in the language of your admin panel.

1.3.0 27.07.2026

Shop migration now runs on the server: you can close the tab. Continue picks up where it stopped instead of starting over. Purchase totals are recalculated after the migration.

1.2.3 27.07.2026

В карточке покупателя появились покупки: итоги и история заказов. Категории покупателей пересчитываются ночью — условие «покупал за последние N дней» теперь срабатывает само.

1.2.2 27.07.2026

Раздел «Покупатели»: шапка встала вровень с остальными разделами, у числовых полей появились подсказки.

1.2.1 27.07.2026

Режим обслуживания: сотрудник теперь видит полосу «магазин закрыт», а страницы, открытые сотрудником, больше не попадают в общий кеш витрины. В архив добавлена инструкция по настройке сервера.

1.2.0 27.07.2026

Появился раздел «Покупатели»: кто покупает, сколько принёс, история заказов, категории покупателей со своими названиями и автоназначением по покупкам. Фотографии больше не нарезаются все сразу при загрузке — перенос ускорился в сотни раз. Мастер установки открывает доступ к фотографиям сам и показывает, что нужно настроить на сервере.

1.1.7 27.07.2026

Скидка в корзине теперь объяснена: прежняя цена зачёркнута, рядом название акции, в итогах — «Ваша выгода». Акция на категорию применяется сразу при сохранении, а не через минуту. Переключатель языков остаётся на том же домене. Один знак валюты на всём экране.

1.1.6 27.07.2026

Названия и описания плагинов теперь на языке админки — и у установленных, и в списке доступных к установке. Ссылка на скачивание обновления живёт сутки вместо получаса.

1.1.5 26.07.2026

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

1.1.4 26.07.2026

Отозванная лицензия теперь распознаётся магазином, а не остаётся активной навсегда. В диагностике видно, работает ли планировщик и когда он отработал. Маркетплейс разбит по категориям целиком. Мастер установки задаёт языком магазина тот язык, на котором его проходили.

1.1.3 26.07.2026

Фоновые задачи наконец выполняются: письма покупателям, выгрузки и обновления больше не копятся молча. Неактивированная копия не получает платные разделы. Переезд с другой платформы работает без настройки сервера и показывает ход работы.

1.1.2 26.07.2026

Установка на чистом сервере проверена целиком: исправлен посев данных на нескольких языках, мастер больше не закрывается на шаге администратора, копия ставится в рабочем режиме, а не в отладочном.

1.1.1 26.07.2026

Установка в базу, где остались таблицы от прошлой попытки, объясняется словами, а не ошибкой SQL, и базу можно очистить прямо из мастера. Исправлено имя индекса, из-за которого установка обрывалась посреди миграций. В мастере появился фирменный знак.

1.1.0 26.07.2026

Установка на чистом сервере доводится до конца: мастер больше не спотыкается на переходе к настроенной базе. Сам мастер теперь на трёх языках — открывается на украинском, переключается на русский и английский.

1.0.0 24.07.2026

Первый релиз CartiX: каталог, заказы, доставка и оплата, админка, витрина.