Skip to content

[Bug] ReferenceError: ms3 is not defined на странице справки менеджера #553

Description

@Ibochkarev

Описание проблемы

На 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). Справка осталась на старом паттерне.

Шаги воспроизведения

  1. Открыть менеджер MODX.
  2. Перейти на ?a=mgr/help&namespace=minishop3.
  3. Открыть консоль браузера.

Ожидаемое поведение

Страница справки монтируется. Глобальный 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-справке его нет.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions