Skip to content

fix(category): restore visual editor (TinyMCE) for product category content#156

Merged
biz87 merged 1 commit intobetafrom
fix/category-richtext-tinymce
Mar 16, 2026
Merged

fix(category): restore visual editor (TinyMCE) for product category content#156
biz87 merged 1 commit intobetafrom
fix/category-richtext-tinymce

Conversation

@Ibochkarev
Copy link
Copy Markdown
Member

Описание

Восстановлена работа визуального редактора (TinyMCE) для поля «Содержимое» при редактировании ресурса-категории товаров. Раньше при переводе ресурса в статус категории товаров блок с полем контента исключался из формы, из-за чего отображалась только разметка HTML вместо редактора, при том что в настройках ресурса визуальный редактор был включён.

Изменения:

  • В форму категории снова включается блок modx-resource-content, чтобы MODX мог инициализировать TinyMCE на поле контента.
  • В методе getContent() значение контента задаётся только в режиме создания; в режиме редактирования существующее содержимое не перезаписывается.
  • В контроллере редактирования категории раскомментирован вызов loadRichTextEditor().

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

(Сообщение пользователя на форуме: при переводе ресурса в категорию товаров визуальный редактор отключался, отображался только raw markup; редактор — TinyMCE.)

Как это было протестировано?

  • Ручное тестирование (проверка формы категории: блок «Содержимое» отображается, RTE инициализируется)
  • Автоматические тесты (PHPStan, ESLint)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: 1.6.x
  • MODX: 3.x
  • PHP: (указать при необходимости)

Скриншоты (если применимо)

До После
Поле «Содержимое» — только raw HTML Поле «Содержимое» с визуальным редактором TinyMCE

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность (проверена цепочка getFields для create/update)
  • Лексиконы добавлены на двух языках (ru/en) — не требуются
  • PHPStan проходит без новых ошибок
  • ESLint проходит без ошибок (для JS/Vue изменений)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

  • Логика проверена: дублирования поля контента нет, порядок полей формы совпадает со стандартным ресурсом MODX.
  • Форма создания категории использует тот же Category.getFields() и также получает блок контента с возможностью RTE.

…ontent

- Include modx-resource-content block in category form so RTE can attach
- Fix getContent() to not overwrite content value in update mode
- Uncomment loadRichTextEditor() in category update controller
Copy link
Copy Markdown
Member

@biz87 biz87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Чистый, точный багфикс. Всё корректно.

Анализ бага

Строка 88 в текущем коде:

item_j.value = "<p></p>"

Выполняется безусловно, перезаписывая:

  • значение ms3_category_content_default из if выше
  • существующий контент при редактировании категории

В результате: контент всегда <p></p>, TinyMCE не инициализируется (блок modx-resource-content был исключён из формы, loadRichTextEditor() закомментирован).

Проверка исправлений

  1. getContent()<p></p> теперь только при create без дефолта. В update существующий контент не трогается. Корректно.
  2. modx-resource-content блок — возвращён в форму, чтобы MODX мог повесить RTE. Корректно.
  3. loadRichTextEditor() — раскомментирован. Был отключён вместе с блоком контента. Корректно.
  4. Порядок условий config['mode'] === 'create' && MODx.config[...] — функционально эквивалентен, читается лучше.

Дублирования контент-блока нет (проверено: getFields итерирует оригинальные поля один раз).

LGTM

@biz87 biz87 merged commit 4e61c14 into beta Mar 16, 2026
@Ibochkarev Ibochkarev deleted the fix/category-richtext-tinymce branch March 16, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants