Всего 125 872 комментария

Алексей Шумаев
08 мая 2026, 10:56
0
Нюанс со сниппетом msCart: прерывание работы сниппета при наличии $_GET['msorder']: disk.yandex.ru/i/fOiDPWuW8xgXsg
Мне кажется, это ошибочное решение, т.к. данный сниппет, например может применяться для вывода мини-корзины и тогда будет просто пустота — ни чанка, на массива.
Крайне неожиданное поведение — ведь логика отображения должна быть исключительно в чанке.
Не думаю, что нужно просто глушить вывод сниппета от наличия этой переменной — может (и точно будет) приводить к проблемам и постоянным вопросам пользователей.

Предполагаю, что это сделано для случая вывода корзины и формы заказа на одной странице, но лучше таки оставить логику на стороне чанков/шаблона, чтобы это было контролируемо.
Например:
{if $.get.msorder is empty} // выводим корзину {/if}
Николай Савин
08 мая 2026, 10:49
+2
В возвращением в строй Павел. Тебя не хватало во всей этой движухе с MODX3
Алексей Шумаев
07 мая 2026, 16:53
0
В массиве $order (сниппет msOrder) значения cost, cart_cost (+возможно delivery_cost) содержат нечисловые значения: disk.yandex.ru/i/ezWUv4Sd6lyucA. Т.е. вместо чистого числа там строка с пробелом.
Это приводит к разным нюансам, а главное — к фатальной ошибке в случае применения к ним модификатора number pdoTools.
Пока лучше делать так, если используем эти параметры:
{$order.cost | replace : ' ' : '' | number : 0 : '.' : ' '}
Алексей Шумаев
07 мая 2026, 14:47
0
Ещё момент: ошибка при создании покупателя через js CustomerAPI
Пробуем выполнить:
await ms3.customerUI.handleAdd('email', 'user@example.com')
В классе CustomerAPI (assets/components/minishop3/js/web/core/CustomerAPI.js) выполняется метод add,
отправляющий запрос на роут /api/v1/customer/add disk.yandex.ru/i/QLb00kmT6NItWg, которого не существует: disk.yandex.ru/i/G1mWoPwSw0DmbA
Логично, т.к. такого роута нет в core/components/minishop3/config/routes/web.php

Возможно вместо handleAdd в CustomerUI должен быть метод handleRegister, использующий соответствующий роут. Я обратил на него внимание именно потому, что не понял, зачем нужен handleAdd.
Логично, что нужно зарегистрировать клиента через register, а если менять его поля, то это или PUT profile или PUT addresses если поля адресные. Ну или я что-то не понял.
Владимир
07 мая 2026, 07:53
0
Решение оказалось банальным: в вашем источнике файлов нужно, чтобы пути НЕ начинались со слеша.
Ivan K.
06 мая 2026, 16:09
+1
Круто, установилось наконец. Начинаю изучать.
Павел Гвоздь
06 мая 2026, 16:02
+1
Прогнал на чистом DE сервере с Ubuntu 22 – исправил ряд багов. Допом прогнал деплой MODX3 сайта – всё ОК!

Можно попробовать новый релиз, там уже всё поправлено.
epic
06 мая 2026, 13:28
0
Столкнулся с этим сейчас) у меня один файл не открывался, оказалось файл был в кодировке windows-1251, сменил на utf-8 и все заработало.
Ivan K.
06 мая 2026, 13:09
0
да, видимо не был доступен гитхаб из питерского селектела

Вот теперь так:
root@new2:~# curl -fsSL https://raw.githubusercontent.com/gvozdb/meowbox/main/bootstrap.sh | sudo PANEL_PORT=18443 bash
[bootstrap] Устанавливаю минимальные зависимости (curl, tar, jq, ca-certificates)...
[bootstrap] Готовлю каталоги в /opt/meowbox...
[bootstrap] Узнаю latest release из github.com/gvozdb/meowbox...
[bootstrap] Целевая версия: v0.6.9
[bootstrap] Скачиваю tarball...
[bootstrap] Проверка SHA256...
[bootstrap] Распаковываю в releases/v0.6.9...
[bootstrap] current → releases/v0.6.9
[bootstrap] Запускаю install.sh из current/ ...
[meowbox] Starting Meowbox installation...
[meowbox] Mode: release  |  Code: /opt/meowbox/current  |  State: /opt/meowbox/state
[meowbox] Log file: /var/log/meowbox-install.log
[meowbox] Updating system packages...
[meowbox] Installing dependencies...
[meowbox] Enabling MariaDB + PostgreSQL...
[meowbox] Adding PHP repository (ondrej/php)...
[meowbox] Adding Yandex mirror for ondrej/php (fallback for launchpad outages)...
[meowbox] Yandex mirror for ondrej/php: подключено
[meowbox] Installing PHP-FPM versions (8.1 + 8.2 + 8.3 + 8.4 if available + system default)...
[meowbox]   → installing PHP 8.1...
[meowbox]   → installing PHP 8.2...
[meowbox]   → installing PHP 8.3...
[meowbox]   → installing PHP 8.4...
[meowbox]   → ensuring PHP 8.1 MODX extensions...
[meowbox]   → ensuring PHP 8.2 MODX extensions...
[meowbox]   → ensuring PHP 8.3 MODX extensions...
[meowbox]   → ensuring PHP 8.4 MODX extensions...
[meowbox]   → ensuring PHP 8.5 MODX extensions...
[meowbox] Default PHP version (для Adminer): 8.5
[meowbox] Установленные PHP версии: 8.1 8.2 8.3 8.4 8.5
[meowbox] Installing Composer...
[meowbox] Composer Composer version 2.9.7 2026-04-14 13:31:52 installed
[meowbox] Installing GitHub CLI (gh)...
[meowbox] gh installed: gh version 2.92.0 (2026-04-28)
[meowbox] Installing Node.js 22...
[meowbox] Installing PM2...
[meowbox] Creating configuration at /opt/meowbox/state/.env...
[meowbox] PROXY_TOKEN сгенерирован — см. state/.env (нужен для подключения сервера к master-панели)
[meowbox] Installing production dependencies (npm ci --omit=dev)...
[meowbox] Создаю symlink-и @meowbox/shared в node_modules пакетов...
[meowbox] Applying SQLite schema...
[meowbox] Setting up embedded Adminer...
[meowbox] Downloading Adminer 4.8.1...
И на этом все))
Вот часть лога, самый конец
added 317 packages in 23s
[2026-05-06 12:59:23] Создаю symlink-и @meowbox/shared в node_modules пакетов...
[2026-05-06 12:59:23] Applying SQLite schema...
Prisma schema loaded from prisma/schema.prisma

✔ Generated Prisma Client (v5.22.0) to ./node_modules/@prisma/client in 894ms

Start by importing your Prisma Client (See: https://pris.ly/d/importing-client)

Tip: Want to react to database changes in your app as they happen? Discover how with Pulse: https://pris.ly/tip-1-pulse

Prisma schema loaded from prisma/schema.prisma
Datasource "db": SQLite database "meowbox.db" at "file:/opt/meowbox/state/data/meowbox.db"

SQLite database meowbox.db created at file:/opt/meowbox/state/data/meowbox.db

🚀  Your database is now in sync with your Prisma schema. Done in 370ms

┌─────────────────────────────────────────────────────────┐
│  Update available 5.22.0 -> 7.8.0                       │
│                                                         │
│  This is a major update - please follow the guide at    │
│  https://pris.ly/d/major-version-upgrade                │
│                                                         │
│  Run the following to update                            │
│    npm i --save-dev prisma@latest                       │
│    npm i @prisma/client@latest                          │
└─────────────────────────────────────────────────────────┘
[2026-05-06 12:59:29] Setting up embedded Adminer...
[2026-05-06 12:59:29] Downloading Adminer 4.8.1...
curl: (28) SSL connection timeout
Павел Гвоздь
06 мая 2026, 12:05
0
Странно, может в моменте пытается тыкнуться на недоступный сервер GitHub из вашей локации. Сложно сказать вот так дистанционно, но я попробую скоро развернуть отдельно на RU, и отдельно на DE/FI VPS, чтобы прогнать весь пайплайн деплоя с нуля, может на что-то наткнусь.
Дмитрий
06 мая 2026, 11:08
0
и периодически пропадают доп категории из отмеченных, приходиться заново проставлять чекбоксы.
Ivan K.
06 мая 2026, 08:07
0
Стоило бы просто Ctrl+C (win) или Cmd+C (mac) и снова запустить установку, предварительно удалив папку meowbox:
В первый раз я так и сделал, но установка до конца не дошла.
теперь дальше [bootstrap] Скачиваю tarball… не идет.
Павел Гвоздь
06 мая 2026, 00:59
0
Доходит до установки
[bootstrap] Узнаю latest release из github.com/gvozdb/meowbox…
[bootstrap] Целевая версия: v0.6.5
[bootstrap] Скачиваю tarball…
и все на этом
Стоило бы просто Ctrl+C (win) или Cmd+C (mac) и снова запустить установку, предварительно удалив папку meowbox:
rm -rf /opt/meowbox
curl -fsSL https://raw.githubusercontent.com/gvozdb/meowbox/main/bootstrap.sh | sudo PANEL_PORT=18443 bash
Дмитрий
05 мая 2026, 22:42
0
спасибо большое, помогло!=)
Дмитрий
05 мая 2026, 22:34
0
Спасибо за совет, но увы, все возможные варианты обновления — не помогают, в том числе пробовал через режим разработчика (ф12), в таком режиме, можно правой кнопкой нажать на иконку обновления (круг со стрелкой), и прям там можно выбрать режим обновления страницы, но я так понимаю ктрл+ф5, ктрл+с, ктрл+шифт+с — горячие клавиши этих режимов.