MiniShop3 - 1.1.0 - Уже в Modstore.pro

Друзья, спустя три года ожидания я наконец опубликовал в modstore первую версию MiniShop3. С чем вас всех и поздравляю. Искренне надеюсь, что это станет хорошим стартом для постепенного перехода на MODX3.



С момента публикации прошла уже неделя, и ко мне потихоньку начинает поступать фидбек. К сожалению без багов не обошлось. Отдельное спасибо хочу сказать наиболее активному тестировщику @Ruslan
Я со своей стороны, не откладывая в долгий ящик сразу все найденные проблемы проверял и фиксил. Буквально сегодня ночью выпустил первый пакет обновлений версии 1.1.0.

Кроме исправления багов, заложил также одно улучшение. Давно просили сделать кнопки Плюс-Минус в карточке товара для случаев, когда товар уже в корзине.



Также подготовил первую версию документации к компоненту. Постарался раскрыть побольше технических вопросов для разработчиков. К примеру заморочился и подготовил примеры вообще на все существующие события. В MS2 мы такого не делали.

Вот такая короткая заметка на сегодня.

Open Source живёт благодаря вам

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

Все наши реквизиты есть на специальной странице.
Николай Савин
11 января 2026, 13:40
modx.pro
1
781
+21
Поблагодарить автора Отправить деньги

Комментарии: 38

Антон Тарасов
11 января 2026, 16:55
+5
Важность этого релиза (апдейта) невозможно переоценить, проголосовал рублём (донатом).
Андрей
12 января 2026, 15:55
0
Какое решение для фильтрации товаров подойдет для ms3?
    Николай Савин
    12 января 2026, 16:10
    +1
    Компонент mFilter в активной разработке. Релиз будет в ближайшие дней 10.
      Андрей
      13 января 2026, 00:35
      0
      Круто! Ждем! Куда фидбекать по ошибкам? ms3 просит установить VueTools даже после его установки
        Николай Савин
        13 января 2026, 09:17
        0
        Фидбек куда тебе удобно. Я везде читаю.

        ms3 просит установить VueTools даже после его установки
        Ну чет пока у тебя одного только просит. Попробуй обновить страницу через CTRL + F5
    Дима Касаткин
    12 января 2026, 16:23
    +1
    Выход MS3 это наверное лучшая новость в мире MODX со времен выхода самого MODX3. Спасибо! И за технологическое обновление с VUE-админкой — прямо праздник какой-то =) Ура, теперь, надеюсь, тройку будет не удержать!
      Evgeny Epifanov
      13 января 2026, 15:15
      +1
      На абсолютно чистой системе, при установке такие ошибки:
      Консоль запущена...
      Пробуем установить пакет с подписью: minishop3-1.1.0-beta1
      Пакет найден... сейчас идёт подготовка к его установке.
      Загрузка рабочего пространства пакета...
      Рабочее пространство загружено, сейчас устанавливаем пакет...
      [MiniShop3] Starting database migrations...
      PHP warning: Constant MODX_CORE_PATH already defined
      PHP warning: Constant MODX_CONFIG_KEY already defined
      [MiniShop3] Migration execution failed: SQLSTATE[HY000]: General error: 1364 Field 'created_at' doesn't have a default value
      [MiniShop3] Migration error: SQLSTATE[HY000]: General error: 1364 Field 'created_at' doesn't have a default value
      [MiniShop3] Stack trace: #0 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(462): PDOStatement->execute() #1 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\PdoAdapter->bulkinsert() #2 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TimedOutputAdapter.php(103): Phinx\Db\Adapter\AdapterWrapper->bulkinsert() #3 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\TimedOutputAdapter->bulkinsert() #4 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TablePrefixAdapter.php(373): Phinx\Db\Adapter\AdapterWrapper->bulkinsert() #5 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(662): Phinx\Db\Adapter\TablePrefixAdapter->bulkinsert() #6 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(634): Phinx\Db\Table->saveData() #7 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(692): Phinx\Db\Table->update() #8 /var/www/modx3/www/core/components/minishop3/migrations/20251127000002_seed_customers_grid_config.php(141): Phinx\Db\Table->save() #9 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager/Environment.php(112): SeedCustomersGridConfig->up() #10 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(413): Phinx\Migration\Manager\Environment->executeMigration() #11 /var/www/modx3/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(384): Phinx\Migration\Manager->executeMigration() #12 /var/www/modx3/www/core/packages/minishop3-1.1.0-beta1/MODX/Revolution/modCategory/f614c4b6a105e07a28f3505f9d13c876.resolver_02_migrations.resolver(76): Phinx\Migration\Manager->migrate() #13 /var/www/modx3/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOVehicle.php(216): include('...') #14 /var/www/modx3/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(218): xPDO\Transport\xPDOVehicle->resolve() #15 /var/www/modx3/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(77): xPDO\Transport\xPDOObjectVehicle->_installObject() #16 /var/www/modx3/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOTransport.php(263): xPDO\Transport\xPDOObjectVehicle->install() #17 /var/www/modx3/www/core/src/Revolution/Transport/modTransportPackage.php(346): xPDO\Transport\xPDOTransport->install() #18 /var/www/modx3/www/core/src/Revolution/Processors/Workspace/Packages/Install.php(73): MODX\Revolution\Transport\modTransportPackage->install() #19 /var/www/modx3/www/core/src/Revolution/Processors/Processor.php(208): MODX\Revolution\Processors\Workspace\Packages\Install->process() #20 /var/www/modx3/www/core/src/Revolution/modX.php(1781): MODX\Revolution\Processors\Processor->run() #21 /var/www/modx3/www/core/src/Revolution/modConnectorResponse.php(151): MODX\Revolution\modX->runProcessor() #22 /var/www/modx3/www/core/src/Revolution/modConnectorRequest.php(89): MODX\Revolution\modConnectorResponse->outputContent() #23 /var/www/modx3/www/core/src/Revolution/modConnectorRequest.php(77): MODX\Revolution\modConnectorRequest->prepareResponse() #24 /var/www/modx3/www/connectors/index.php(79): MODX\Revolution\modConnectorRequest->handleRequest() #25 {main}
      ✅ [MiniShop3] Manager API custom routes file created at: core/config/ms3_routes_manager.custom.php
      This file will NEVER be overwritten. Safe to customize!
      [MiniShop3] Could not create Web API custom routes example (optional)
      📁 [MiniShop3] System routes are in: core/components/minishop3/config/routes/
      [MiniShop3] Scheduled first run for recurring task 'ms3_cleanup_drafts'
      [MiniShop3] Scheduled first run for recurring task 'ms3_cleanup_tokens'
      [MiniShop3] Scheduler tasks: 4 registered, 0 updated
      [MiniShop3] Recurring tasks enabled: ms3_cleanup_drafts (daily), ms3_cleanup_tokens (weekly).
      Успешно установлен пакет minishop3-1.1.0-beta1
      Насколько это критично?
        Николай Савин
        13 января 2026, 20:04
        0
        Довольно критично. Некоторые таблицы могли не создаться. Это мы поправим.
        Уточни пожалуйста, какая версия СУБД используется?
          Evgeny Epifanov
          14 января 2026, 09:38
          0
          10.11.13-MariaDB-0ubuntu0.24.04.1
            Evgeny Epifanov
            14 января 2026, 10:27
            0
            Да, это все же критично. Миграции не работают. При создании своего дополнительного поля возникает ошибка.
            Ошибка создания
            Migration execution error: SQLSTATE[HY000]: General error: 1364 Field 'created_at' doesn't have a default value
              Николай Савин
              14 января 2026, 11:16
              0
              Внес правку и перевыпустил компонент без изменения версии. Попробуй удали пакет, если он установлен и скачай из modstore заново. Жду обратную связь.
              Важно — убедись что все таблицы были удалены из базы данных (они при удалении компонента не удаляются) В том числе удали таблицу ms3_migrations
                Evgeny Epifanov
                14 января 2026, 11:40
                0
                На поддомен вынес.
                Консоль запущена...
                Пробуем установить пакет с подписью: minishop3-1.1.0-beta1
                Пакет найден... сейчас идёт подготовка к его установке.
                Загрузка рабочего пространства пакета...
                Рабочее пространство загружено, сейчас устанавливаем пакет...
                [MiniShop3] Starting database migrations...
                PHP warning: Constant MODX_CORE_PATH already defined
                PHP warning: Constant MODX_CONFIG_KEY already defined
                [MiniShop3] Migration execution failed: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'grid_key' in 'INSERT INTO'
                [MiniShop3] Migration error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'grid_key' in 'INSERT INTO'
                [MiniShop3] Stack trace: #0 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(462): PDOStatement->execute() #1 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\PdoAdapter->bulkinsert() #2 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TimedOutputAdapter.php(103): Phinx\Db\Adapter\AdapterWrapper->bulkinsert() #3 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\TimedOutputAdapter->bulkinsert() #4 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TablePrefixAdapter.php(373): Phinx\Db\Adapter\AdapterWrapper->bulkinsert() #5 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(662): Phinx\Db\Adapter\TablePrefixAdapter->bulkinsert() #6 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(622): Phinx\Db\Table->saveData() #7 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(694): Phinx\Db\Table->create() #8 /var/www/dev1/www/core/components/minishop3/migrations/20251127000002_seed_customers_grid_config.php(148): Phinx\Db\Table->save() #9 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager/Environment.php(112): SeedCustomersGridConfig->up() #10 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(413): Phinx\Migration\Manager\Environment->executeMigration() #11 /var/www/dev1/www/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(384): Phinx\Migration\Manager->executeMigration() #12 /var/www/dev1/www/core/packages/minishop3-1.1.0-beta1/MODX/Revolution/modCategory/fb0516c1046b88fd6bb943da8b601bef.resolver_02_migrations.resolver(76): Phinx\Migration\Manager->migrate() #13 /var/www/dev1/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOVehicle.php(216): include('...') #14 /var/www/dev1/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(218): xPDO\Transport\xPDOVehicle->resolve() #15 /var/www/dev1/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(77): xPDO\Transport\xPDOObjectVehicle->_installObject() #16 /var/www/dev1/www/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOTransport.php(263): xPDO\Transport\xPDOObjectVehicle->install() #17 /var/www/dev1/www/core/src/Revolution/Transport/modTransportPackage.php(346): xPDO\Transport\xPDOTransport->install() #18 /var/www/dev1/www/core/src/Revolution/Processors/Workspace/Packages/Install.php(73): MODX\Revolution\Transport\modTransportPackage->install() #19 /var/www/dev1/www/core/src/Revolution/Processors/Processor.php(208): MODX\Revolution\Processors\Workspace\Packages\Install->process() #20 /var/www/dev1/www/core/src/Revolution/modX.php(1781): MODX\Revolution\Processors\Processor->run() #21 /var/www/dev1/www/core/src/Revolution/modConnectorResponse.php(151): MODX\Revolution\modX->runProcessor() #22 /var/www/dev1/www/core/src/Revolution/modConnectorRequest.php(89): MODX\Revolution\modConnectorResponse->outputContent() #23 /var/www/dev1/www/core/src/Revolution/modConnectorRequest.php(77): MODX\Revolution\modConnectorRequest->prepareResponse() #24 /var/www/dev1/www/connectors/index.php(79): MODX\Revolution\modConnectorRequest->handleRequest() #25 {main}
                ✅ [MiniShop3] Manager API custom routes file created at: core/config/ms3_routes_manager.custom.php
                This file will NEVER be overwritten. Safe to customize!
                [MiniShop3] Could not create Web API custom routes example (optional)
                📁 [MiniShop3] System routes are in: core/components/minishop3/config/routes/
                [MiniShop3] Scheduled first run for recurring task 'ms3_cleanup_drafts'
                [MiniShop3] Scheduled first run for recurring task 'ms3_cleanup_tokens'
                [MiniShop3] Scheduler tasks: 4 registered, 0 updated
                [MiniShop3] Recurring tasks enabled: ms3_cleanup_drafts (daily), ms3_cleanup_tokens (weekly).
                Успешно установлен пакет minishop3-1.1.0-beta1
                  Николай Савин
                  14 января 2026, 12:42
                  0
                  Внес исправления еще раз, хорошо с нуля все проверил. Обновил в modstore, можно попробовать переустановить
                    Evgeny Epifanov
                    14 января 2026, 13:17
                    +1
                    Вроде все нормально.
                    Поля создаются.
                    Огромное спасибо за компонент и за оперативное решение вопросов!
                      Николай Савин
                      14 января 2026, 13:36
                      +1
                      Тебе спасибо за обратную связь. 100 человек прошли бы мимо, а ты написал и протестировал.
                        Evgeny Epifanov
                        14 января 2026, 14:47
                        0
                        Ну, тогда, пока не забыл...)
                        Импорт товаров.
                        • Не работает dragndrop, через файловый менеджер все работает.
                        • Не нашел соответствия полю class_key, а ведь категории товаров тоже хочется импортировать.
                        • Полю parent соответствует «Категория». Долго не мог найти соответствие типа «Родитель». Просто ввело в заблуждение.
                        • Не отображаются свои поля
                        • Что делает соответствие «ms3_import_skip_column»? Первое в списке
                        • Все соответствия прописаны на русском, опции (свойства товара) товара выводятся по ключу. Видимо из-за лексиконов. Конечно, это не критично.
                        • После успешного импорта: Обработано: 0 Создано: 0 Обновлено: 0
                        Как же круто, что система подтягивает нужные наименование полей по заголовкам *.csv!
                        Извиняюсь, что пишу сюда. Николай, куда лучше писать про замеченные ошибки?
                          Николай Савин
                          14 января 2026, 15:11
                          0
                          Да особо без разницы куда писать. Я отслеживаю все записи. Но в идеале создавать issue в репозитории github.com/modx-pro/MiniShop3/issues.
                            Руслан
                            20 января 2026, 01:33
                            0
                            То же «не пройду мимо». )
                            Создал на sweb.ru (ex. modhost.pro) чистый тестовый аккаунт «Старт» и установил там чистый MODX 3 (и сразу накатил pdoTools и vueTools), при установке и переустановке MiniShop3 возникают такие ошибки:

                            Консоль запущена...
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            Пробуем установить пакет с подписью: minishop3-1.2.0-beta1
                            Пакет найден... сейчас идёт подготовка к его установке.
                            Загрузка рабочего пространства пакета...
                            Рабочее пространство загружено, сейчас устанавливаем пакет...
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            [MiniShop3] Starting database migrations...
                            [MiniShop3] Migration execution failed: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'keltopartu.modx_ms3_grid_fields' doesn't exist
                            [MiniShop3] Migration error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'keltopartu.modx_ms3_grid_fields' doesn't exist
                            [MiniShop3] Stack trace: #0 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(462): PDOStatement->execute(Array) #1 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\PdoAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #2 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TimedOutputAdapter.php(103): Phinx\Db\Adapter\AdapterWrapper->bulkinsert(Object(Phinx\Db\Table\Table), Array) #3 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\TimedOutputAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #4 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TablePrefixAdapter.php(373): Phinx\Db\Adapter\AdapterWrapper->bulkinsert(Object(Phinx\Db\Table\Table), Array) #5 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(662): Phinx\Db\Adapter\TablePrefixAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #6 /home/k/keltopartu/core/components/minishop3/migrations/20251127000002_seed_customers_grid_config.php(148): Phinx\Db\Table->saveData() #7 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager/Environment.php(112): SeedCustomersGridConfig->up() #8 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(413): Phinx\Migration\Manager\Environment->executeMigration(Object(SeedCustomersGridConfig), 'up', false) #9 /home/k/keltopartu/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(384): Phinx\Migration\Manager->executeMigration('production', Object(SeedCustomersGridConfig), 'up', false) #10 /home/k/keltopartu/core/packages/minishop3-1.2.0-beta1/MODX/Revolution/modCategory/28e69eb7abbb2be48e7c3f8899a1d2af.resolver_02_migrations.resolver(76): Phinx\Migration\Manager->migrate('production') #11 /home/k/keltopartu/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOVehicle.php(216): include('/home/k/keltopa...') #12 /home/k/keltopartu/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(218): xPDO\Transport\xPDOVehicle->resolve(Object(xPDO\Transport\xPDOTransport), Object(MODX\Revolution\mysql\modCategory), Array) #13 /home/k/keltopartu/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(77): xPDO\Transport\xPDOObjectVehicle->_installObject(Object(xPDO\Transport\xPDOTransport), Array, Array, NULL, NULL) #14 /home/k/keltopartu/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOTransport.php(263): xPDO\Transport\xPDOObjectVehicle->install(Object(xPDO\Transport\xPDOTransport), Array) #15 /home/k/keltopartu/core/src/Revolution/Transport/modTransportPackage.php(346): xPDO\Transport\xPDOTransport->install(Array) #16 /home/k/keltopartu/core/src/Revolution/Processors/Workspace/Packages/Install.php(73): MODX\Revolution\Transport\modTransportPackage->install(Array) #17 /home/k/keltopartu/core/src/Revolution/Processors/Processor.php(189): MODX\Revolution\Processors\Workspace\Packages\Install->process() #18 /home/k/keltopartu/core/src/Revolution/modX.php(1771): MODX\Revolution\Processors\Processor->run() #19 /home/k/keltopartu/core/src/Revolution/modConnectorResponse.php(151): MODX\Revolution\modX->runProcessor('Workspace/Packa...', Array, Array) #20 /home/k/keltopartu/core/src/Revolution/modConnectorRequest.php(89): MODX\Revolution\modConnectorResponse->outputContent(Array) #21 /home/k/keltopartu/core/src/Revolution/modConnectorRequest.php(77): MODX\Revolution\modConnectorRequest->prepareResponse(Array) #22 /home/k/keltopartu/public_html/connectors/index.php(79): MODX\Revolution\modConnectorRequest->handleRequest() #23 {main}
                            PHP warning: mkdir(): File exists
                            PHP warning: mkdir(): File exists
                            ✅ [MiniShop3] Manager API custom routes file exists (preserved): core/config/ms3_routes_manager.custom.php
                            [MiniShop3] Could not create Web API custom routes example (optional)
                            📁 [MiniShop3] System routes are in: core/components/minishop3/config/routes/
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            [MiniShop3] Scheduler tasks: 0 registered, 4 updated
                            [MiniShop3] Recurring tasks enabled: ms3_cleanup_drafts (daily), ms3_cleanup_tokens (weekly).
                            Успешно установлен пакет minishop3-1.2.0-beta1
                            Николай Савин
                            20 января 2026, 10:24
                            0
                            Подготовил релиз 1.2.1 — можешь проверить. Лучше с нуля поставить, если часть минишопа установилась — удали.
                            Руслан
                            20 января 2026, 16:30
                            0
                            Накатил на чистую 1.2.1 теперь такое:

                            Консоль запущена...
                            Пробуем установить пакет с подписью: minishop3-1.2.1-beta1
                            Пакет найден... сейчас идёт подготовка к его установке.
                            Загрузка рабочего пространства пакета...
                            Рабочее пространство загружено, сейчас устанавливаем пакет...
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            [MiniShop3] Starting database migrations...
                            [MiniShop3] Migration execution failed: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'williamso2.modx_ms3_grid_fields' doesn't exist
                            [MiniShop3] Migration error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'williamso2.modx_ms3_grid_fields' doesn't exist
                            [MiniShop3] Stack trace: #0 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(462): PDOStatement->execute(Array) #1 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\PdoAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #2 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TimedOutputAdapter.php(103): Phinx\Db\Adapter\AdapterWrapper->bulkinsert(Object(Phinx\Db\Table\Table), Array) #3 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(186): Phinx\Db\Adapter\TimedOutputAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #4 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TablePrefixAdapter.php(373): Phinx\Db\Adapter\AdapterWrapper->bulkinsert(Object(Phinx\Db\Table\Table), Array) #5 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Db/Table.php(662): Phinx\Db\Adapter\TablePrefixAdapter->bulkinsert(Object(Phinx\Db\Table\Table), Array) #6 /home/w/williamso2/core/components/minishop3/migrations/20251127000002_seed_customers_grid_config.php(148): Phinx\Db\Table->saveData() #7 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager/Environment.php(112): SeedCustomersGridConfig->up() #8 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(413): Phinx\Migration\Manager\Environment->executeMigration(Object(SeedCustomersGridConfig), 'up', false) #9 /home/w/williamso2/core/components/minishop3/vendor/robmorgan/phinx/src/Phinx/Migration/Manager.php(384): Phinx\Migration\Manager->executeMigration('production', Object(SeedCustomersGridConfig), 'up', false) #10 /home/w/williamso2/core/packages/minishop3-1.2.1-beta1/MODX/Revolution/modCategory/a668ad8904a6ea5e15270b635ab456ae.resolver_02_migrations.resolver(76): Phinx\Migration\Manager->migrate('production') #11 /home/w/williamso2/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOVehicle.php(216): include('/home/w/william...') #12 /home/w/williamso2/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(218): xPDO\Transport\xPDOVehicle->resolve(Object(xPDO\Transport\xPDOTransport), Object(MODX\Revolution\mysql\modCategory), Array) #13 /home/w/williamso2/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOObjectVehicle.php(77): xPDO\Transport\xPDOObjectVehicle->_installObject(Object(xPDO\Transport\xPDOTransport), Array, Array, NULL, NULL) #14 /home/w/williamso2/core/vendor/xpdo/xpdo/src/xPDO/Transport/xPDOTransport.php(263): xPDO\Transport\xPDOObjectVehicle->install(Object(xPDO\Transport\xPDOTransport), Array) #15 /home/w/williamso2/core/src/Revolution/Transport/modTransportPackage.php(346): xPDO\Transport\xPDOTransport->install(Array) #16 /home/w/williamso2/core/src/Revolution/Processors/Workspace/Packages/Install.php(73): MODX\Revolution\Transport\modTransportPackage->install(Array) #17 /home/w/williamso2/core/src/Revolution/Processors/Processor.php(189): MODX\Revolution\Processors\Workspace\Packages\Install->process() #18 /home/w/williamso2/core/src/Revolution/modX.php(1771): MODX\Revolution\Processors\Processor->run() #19 /home/w/williamso2/core/src/Revolution/modConnectorResponse.php(151): MODX\Revolution\modX->runProcessor('Workspace/Packa...', Array, Array) #20 /home/w/williamso2/core/src/Revolution/modConnectorRequest.php(89): MODX\Revolution\modConnectorResponse->outputContent(Array) #21 /home/w/williamso2/core/src/Revolution/modConnectorRequest.php(77): MODX\Revolution\modConnectorRequest->prepareResponse(Array) #22 /home/w/williamso2/public_html/connectors/index.php(79): MODX\Revolution\modConnectorRequest->handleRequest() #23 {main}
                            ✅ [MiniShop3] Manager API custom routes file created at: core/config/ms3_routes_manager.custom.php
                            This file will NEVER be overwritten. Safe to customize!
                            [MiniShop3] Could not create Web API custom routes example (optional)
                            📁 [MiniShop3] System routes are in: core/components/minishop3/config/routes/
                            [MiniShop3] Scheduler not installed, skipping task registration. Install Scheduler component to enable background task processing.
                            Успешно установлен пакет minishop3-1.2.1-beta1
                            Николай Савин
                            20 января 2026, 16:54
                            0
                            А что ты под чистым понимаешь? Ты прям с нуля сайт поднял или же просто удалил минишоп и установил заново? Если так — то есть проблема. MODX не удаляет таблицы при удалении компонента. Нужно зайти в базу данных, удалить все таблицы с префиксом ms3_* а также удалить или очистить таблицу ms3_migrations
                            Николай Савин
                            20 января 2026, 17:39
                            0
                            Выпустил еще один патч — обновляйся проверяй.
                            Руслан
                            21 января 2026, 00:03
                            0
                            Низкий поклон вам за старания. Будет возможность, порадую и «звонкой монетой».

                            Под чистым — это заведение нового аккаунта на sweb (14 дней бесплатных), автоустановка модекса с нуля средствами админки, далее добавление репозитория modstore.pro и установка pdoTools и vueTools и потом уже miniShop3.

                            На третьей итерации заметил, что sweb при автоустановке MODX 3, делает папку /core/ на уровень выше от папки сайта ($modx_core_path= '/home/w/williamso3/public_html/../core/'), перенёс её в папку сайта и «Ура» — прошло успешно:
                            Консоль запущена...
                            Пробуем установить пакет с подписью: minishop3-1.2.2-beta1
                            Пакет найден... сейчас идёт подготовка к его установке.
                            Загрузка рабочего пространства пакета...
                            Рабочее пространство загружено, сейчас устанавливаем пакет...
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            [MiniShop3] Starting database migrations...
                            PHP warning: Constant MODX_CORE_PATH already defined
                            PHP warning: Constant MODX_CONFIG_KEY already defined
                            PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
                            == 20251020000000 InitialSchema: migrating
                            Creating MiniShop3 tables...
                            Model path: /home/w/williamso3/public_html/core/components/minishop3/src/Model/
                            Table `modx_site_content` already exists, skipping
                            ✓ Created table: `modx_ms3_product_categories`
                            ✓ Created table: `modx_ms3_category_options`
                            ✓ Created table: `modx_ms3_customers`
                            ✓ Created table: `modx_ms3_customer_addresses`
                            ✓ Created table: `modx_ms3_customer_tokens`
                            ✓ Created table: `modx_ms3_deliveries`
                            ✓ Created table: `modx_ms3_delivery_payments`
                            ✓ Created table: `modx_ms3_extra_fields`
                            ✓ Created table: `modx_ms3_grid_fields`
                            ✓ Created table: `modx_ms3_links`
                            ✓ Created table: `modx_ms3_notification_configs`
                            ✓ Created table: `modx_ms3_options`
                            ✓ Created table: `modx_ms3_orders`
                            ✓ Created table: `modx_ms3_order_addresses`
                            ✓ Created table: `modx_ms3_order_logs`
                            ✓ Created table: `modx_ms3_order_products`
                            ✓ Created table: `modx_ms3_order_statuses`
                            ✓ Created table: `modx_ms3_page_sections`
                            ✓ Created table: `modx_ms3_payments`
                            Table `modx_site_content` already exists, skipping
                            ✓ Created table: `modx_ms3_products`
                            ✓ Created table: `modx_ms3_product_fields`
                            ✓ Created table: `modx_ms3_product_files`
                            ✓ Created table: `modx_ms3_product_links`
                            ✓ Created table: `modx_ms3_product_options`
                            ✓ Created table: `modx_ms3_vendors`
                            MiniShop3 schema creation completed!
                            Adding foreign key constraints...
                            Foreign keys setup completed!
                            == 20251020000000 InitialSchema: migrated 0.2875s
                            == 20251021000000 SeedPageSections: migrating
                            ✓ Inserted 4 page sections for product_data
                            == 20251021000000 SeedPageSections: migrated 0.0034s
                            == 20251022000000 SeedProductFields: migrating
                            ✓ Inserted 13 default product fields
                            == 20251022000000 SeedProductFields: migrated 0.0052s
                            == 20251023000000 SeedOrderStatuses: migrating
                            ✓ Inserted 5 default order statuses
                            Note: Status names will be replaced with lexicon values when accessed through MODX
                            Updating system settings with status IDs...
                            ✓ Updated ms3_status_new = 2 (from ms3_order_status_new)
                            ✓ Updated ms3_status_paid = 3 (from ms3_order_status_paid)
                            ✓ Updated ms3_status_canceled = 5 (from ms3_order_status_cancelled)
                            ✓ System settings updated successfully
                            == 20251023000000 SeedOrderStatuses: migrated 0.0050s
                            == 20251023000001 SeedDeliveryAndPayment: migrating
                            ✓ Created default delivery: ms3_delivery_self_pickup
                            ✓ Created default payment: ms3_payment_cash
                            ✓ Linked delivery and payment
                            Default delivery and payment setup completed!
                            == 20251023000001 SeedDeliveryAndPayment: migrated 0.0075s
                            == 20251127000002 SeedCustomersGridConfig: migrating
                            == 20251127000002 SeedCustomersGridConfig: migrated 0.0025s
                            == 20251204140000 SeedOrdersGridConfig: migrating
                            == 20251204140000 SeedOrdersGridConfig: migrated 0.0010s
                            == 20251205120000 CreateModelFieldsTable: migrating
                            == 20251205120000 CreateModelFieldsTable: migrated 0.0104s
                            == 20251205120100 SeedModelFields: migrating
                            == 20251205120100 SeedModelFields: migrated 0.0025s
                            == 20251211120000 CreateModelFieldSectionsTable: migrating
                            == 20251211120000 CreateModelFieldSectionsTable: migrated 0.0080s
                            == 20251211120200 SeedModelFieldSections: migrating
                            == 20251211120200 SeedModelFieldSections: migrated 0.0054s
                            == 20251215120000 SeedOrderProductsGridConfig: migrating
                            == 20251215120000 SeedOrderProductsGridConfig: migrated 0.0010s
                            == 20251216120000 AlterOrderLogsTable: migrating
                            == 20251216120000 AlterOrderLogsTable: migrated 0.0098s
                            == 20251222120000 SeedDeliveriesGridConfig: migrating
                            == 20251222120000 SeedDeliveriesGridConfig: migrated 0.0010s
                            == 20251223120000 SeedVendorModelFields: migrating
                            == 20251223120000 SeedVendorModelFields: migrated 0.0027s
                            == 20251223130000 SeedVendorsGridConfig: migrating
                            == 20251223130000 SeedVendorsGridConfig: migrated 0.0008s
                            == 20251231140000 SeedCategoryProductsGridConfig: migrating
                            == 20251231140000 SeedCategoryProductsGridConfig: migrated 0.0007s
                            == 20260107120000 FixOrdersGridFilterable: migrating
                            == 20260107120000 FixOrdersGridFilterable: migrated 0.0006s
                            == 20260108001501 AddProductCardUiToFrontendAssets: migrating
                            == 20260108001501 AddProductCardUiToFrontendAssets: migrated 0.0005s
                            == 20260119120000 RenameModelFieldsRankToSortOrder: migrating
                            == 20260119120000 RenameModelFieldsRankToSortOrder: migrated 0.0018s
                            == 20260119220000 UpdateOrdersGridStatusFields: migrating
                            == 20260119220000 UpdateOrdersGridStatusFields: migrated 0.0010s
                            [MiniShop3] Database migrations completed
                            ✅ [MiniShop3] Manager API custom routes file created at: core/config/ms3_routes_manager.custom.php
                            This file will NEVER be overwritten. Safe to customize!
                            [MiniShop3] Could not create Web API custom routes example (optional)
                            📁 [MiniShop3] System routes are in: core/components/minishop3/config/routes/
                            [MiniShop3] Scheduler not installed, skipping task registration. Install Scheduler component to enable background task processing.
                            Успешно установлен пакет minishop3-1.2.2-beta1
        Александр
        13 января 2026, 20:13
        +3
        MODX на данный момент, на мой взгляд, единственная адекватная система для построения любых сайтов.
        Я пробовал Ларавель, пробовал Джанго, это фреймворки, не говоря про различные CMS. На модексе гораздо комфортнее, логичнее и проше.
        Года с 2012 делаю исключительно на модекс, начинал с ЭВО.
        Данная новость это настоящий прорыв, которого дооолго ждали и хотелось бы надеяться что модекс продолжит свое развитие.
        Спасибо за труд.
          Андрей
          16 января 2026, 14:05
          +1
          Поддержал рублем и купил доп, надеюсь не забросите развитие
          Добавите плз возможность редактирование цен из списка товаров, не заходя на саму страницу товара
          кнопку применения фильтра сделал бы в одну линию фильтрации
          Очень ждем шуструю фильтрацию, при больших объемах товара
            Николай Савин
            16 января 2026, 15:33
            0
            Поддержал рублем и купил доп, надеюсь не забросите развитие
            За мной не заржавеет.
              Сергей
              18 января 2026, 12:21
              0
              Я посмотрел информация по обновлению 3 версии магазина, но не тестировал еще. Если такое можно, сделать (может уже реализовано) как у всех крупных маркетов, сделать сохранение и выбора адресов и данных пользователя, что бы пользователем было проще делать повторные заказы.
          Дмитрий
          20 января 2026, 16:52
          +1
          Добрый день, при загрузке изображения ошибка в логах
          [2026-01-20 16:50:09] (ERROR @ /home/core/src/Revolution/modX.php : 1794) Unable to load processor for action "MiniShop3ProcessorsProductGet", it does not exist as an autoloadable class that extends \MODX\Revolution\Processors\Processor, and also not as a file in "/home/core/components/minishop3/src/Processors/MiniShop3ProcessorsProductGet.class.php"
          Евгений
          29 января 2026, 14:29
          0
          Николай, не работает галерея от слова совсем
          n13foxbkru.temp.swtest.ru/download/bag_minishop.mp4
          В логах -пусто, права на /assets/images/products 777 выставлял
            Ivan K.
            29 января 2026, 18:19
            +1
            кнопку зеленую (Upload 4 files) надо нажать, чтобы фотки попали в гелерею, сам не сразу сообразил)
              Николай Савин
              29 января 2026, 18:34
              0
              Евгений, вопрос закрыт?
              Я на всякий случай уточню. В загрузчике встроена обработка изображений. Можно загруженного фото обрезать, развернуть и т.п. После применения изменений уже сохраняем то, что получилось. Так что делать автоматическое сохранение не вижу смысла.
              Ivan K.
              30 января 2026, 17:41
              0
              Николай планируется ли в ближайшее время разработка аналога компонента msOptionsPrice2? или не ждать и самому решать эту задачу?
              Лично для меня это последний нужный компонент для переноса магазинов с miniShop2 на MiniShop3
                Николай Савин
                30 января 2026, 17:55
                +1
                Уже практически готов, допиливаю детали. В течение недели думаю релиз будет
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                38