Описание проблемы
На manager?a=mgr/help&namespace=minishop3 в консоли:
Uncaught ReferenceError: ms3 is not defined
Инлайн-скрипт в help.class.php пишет ms3.config = … без объявления ms3. Остальные Vue-экраны уже вызывают addVueConfig() (var ms3 = { config: … }, #525/#526). Справка осталась на старом паттерне.
Шаги воспроизведения
- Открыть менеджер MODX.
- Перейти на
?a=mgr/help&namespace=minishop3.
- Открыть консоль браузера.
Ожидаемое поведение
Страница справки монтируется. Глобальный ms3.config доступен до Vue-модуля.
Фактическое поведение
Ошибка на инлайн-скрипте (строка ~54 HTML). HelpPage.vue читает ms3.config?.defaultThumb и не получает логотип.
Скриншоты
—
Окружение
- MiniShop3: 1.12.0-beta1
- MODX: 3.x
- Браузер: любой (ошибка до Vue)
Логи ошибок
Консоль браузера
manager?a=mgr/help&namespace=minishop3:54 Uncaught ReferenceError: ms3 is not defined
at manager?a=mgr/help&namespace=minishop3:54:13
Дополнительный контекст
Источник:
$this->addHtml('<script>
ms3.config = ' . json_encode($this->ms3->config) . ';
</script>');
Фикс: в loadCustomCssJs() вызвать $this->addVueConfig($this->ms3->config) до addVueModule(), как на orders/customers/settings. Убрать ручной addHtml.
ms3.manager.js грузится через OnManagerPageBeforeRender, но ms3 там не объявляет. Ext-страницы товара/категории пишут ms3.config = сами: на них объект, скорее всего, уже есть с другого скрипта. На Vue-справке его нет.
Описание проблемы
На
manager?a=mgr/help&namespace=minishop3в консоли:Инлайн-скрипт в
help.class.phpпишетms3.config = …без объявленияms3. Остальные Vue-экраны уже вызываютaddVueConfig()(var ms3 = { config: … }, #525/#526). Справка осталась на старом паттерне.Шаги воспроизведения
?a=mgr/help&namespace=minishop3.Ожидаемое поведение
Страница справки монтируется. Глобальный
ms3.configдоступен до Vue-модуля.Фактическое поведение
Ошибка на инлайн-скрипте (строка ~54 HTML).
HelpPage.vueчитаетms3.config?.defaultThumbи не получает логотип.Скриншоты
—
Окружение
Логи ошибок
Консоль браузера
Дополнительный контекст
Источник:
Фикс: в
loadCustomCssJs()вызвать$this->addVueConfig($this->ms3->config)доaddVueModule(), как на orders/customers/settings. Убрать ручнойaddHtml.ms3.manager.jsгрузится черезOnManagerPageBeforeRender, ноms3там не объявляет. Ext-страницы товара/категории пишутms3.config =сами: на них объект, скорее всего, уже есть с другого скрипта. На Vue-справке его нет.