Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 102 комментария

Evgeny Epifanov
Evgeny Epifanov
На абсолютно чистой системе, при установке такие ошибки:
Консоль запущена...
Пробуем установить пакет с подписью: 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
Насколько это критично?
Дима Касаткин
Дима Касаткин
Выход MS3 это наверное лучшая новость в мире MODX со времен выхода самого MODX3. Спасибо! И за технологическое обновление с VUE-админкой — прямо праздник какой-то =) Ура, теперь, надеюсь, тройку будет не удержать!
Дима Касаткин
Дима Касаткин
Отличные новости, морфологический поиск очень нужен! Спасибо за труды!

В своё время, msearch2 был революционным, и обгонял по качеству поиска своих конкурентов в других CMS.
Но сейчас они подтянулись тоже, поэтому на волне приподнятого настроения от того, что прекрасные возможности поиска теперь будут и в MODX3, позволю себе немного описать идеи для корректировки и будущих обновлений:

1. Несколько ошибок в старом mserch2, которые я
подробно описывал ранее:
1.1 Не работает поиск по alt-атрибутам картинок в контенте
1.2 В плейсхолдере intro в чанке одного результата поиска не обрезаются html-сущности по «краям» найденного результата. (см. скриншот: yadi.sk/i/OB_lXHCWB8-hCA ). Например nbsp если на границу intro попадает, то некрасиво подрезается.

2. В движках поиска с момента выхода mserach2 стало модным также делать автоматическое переключение раскладки клавиатуры. Планируется ли добавление такого функционала в компонент?
Николай Савин
Николай Савин
Специально под твой вопрос написал новый раздел документации
docs.modx.pro/components/msearch/extending

Если кратко — создаешь новый класс со специальным интерфейсом. В классе указываешь имя модели, перечень и вес полей. Затем создаешь плагин где регистрируешь свой класс. По хорошему минут 15 работы.
Если честно я не проверял работу. На сегодня расширять особо нечем. Делать какие то свои таблицы и модели только для тестов — пока лень (осуждаю)

А также уже выпустил обновление с фиксом CSS конфликта.
Николай Савин
Николай Савин
Привет Иван — ну с почином, получается. Если что-то будет не работать (сам понимаешь мало тестировали) можешь писать мне в телеграм напрямую.
Заметил одну вещь, захожу в админке пакеты->mSearch и логотип MODX 3.1.2 уменьшается в размере))
Да — действительно, какие то стили конфиктуют. Пофиксим.
Ivan K.
Ivan K.
Привет.
Стал первым покупателем компонента. На днях испытаю его на своем одном сайте, где требуется нормальный поиск))
Заметил одну вещь, захожу в админке пакеты->mSearch и логотип MODX 3.1.2 уменьшается в размере))
Николай Савин
Николай Савин
Ну вот видишь — простор для творчества полный. Реализуй за милую душу.
То есть, для фронта это решение не подходит
— так я его изначально делал только для своих компонентов в админке, чтобы не таскать одно и то же.

То есть, все равно нужно реализовать безопасность на беке.
. Безопасность всегда исключительно на бэке и должна быть, потому что фронт легко подменить.
Александр Туниеков
Александр Туниеков
Мнда… Реализация неожиданная для меня.
Во первых, нет переводов primeVue. То есть если использовать фильтры DataTable или Calendar, то они будут англискими. Посмотрел. В минишоп3 похоже фильтры DataTable не используются.
Во вторых, хотел посмотреть реализацию лексиконов, чтобы наконец реализовать их у себя. Но лексиконы, как оказалось, просто берутся из стандартного js файла админки. То есть, для фронта это решение не подходит :-(.
В третьих, usePermission тоже просто берет разрешения из window.MODx?.perm. То есть, все равно нужно реализовать безопасность на беке. usePermission только для информирования пользователя.

Ну хотелось бы что-то более крутое. А так пользоваться можно, но не для меня :-).