Skip to content

Fix undefined array key "desc" in element property lexicon translation - #19

Open
Ibochkarev wants to merge 4 commits into
3.xfrom
fix/undefined-desc-modElement
Open

Fix undefined array key "desc" in element property lexicon translation#19
Ibochkarev wants to merge 4 commits into
3.xfrom
fix/undefined-desc-modElement

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Что сделано

modElement::get('properties') и modPropertySet::get('properties') читали $property['desc'] без проверки ключа. PHP 8 логирует Undefined array key "desc", когда у определения свойства нет поля описания.

Фикс разрезолвит label через $property['desc'] ?? $property['description'] ?? '' и вызывает лексикон, только если результат непустой. Оба класса делят один цикл перевода, поэтому оба получают тот же guard.

Как проверить

php -l core/src/Revolution/modElement.php
php -l core/src/Revolution/modPropertySet.php
XDEBUG_MODE=coverage core/vendor/bin/phpunit --filter testGetPropertiesWithoutDescKey -c ./_build/test/phpunit.xml

Exit 0 на PHP 8.4 локально.

Чтобы увидеть исходное предупреждение: откройте элемент в менеджере, у которого сохранённые свойства без desc (импортированные или legacy-определения). До этого изменения лог указывал на modElement.php:165.

Связанные

Найдено в логе ошибок менеджера. Часть более широкой чистки PHP 8, отслеживаемой в modxcms#16018.

Совместимость

Применимо на PHP 8+. Когда desc есть, поведение не меняется. Когда оба desc и description отсутствуют, desc_trans пустая строка вместо предупреждения.

Совместимость

Без изменения API или сигнатур. Безопасно для patch-релизов.

Оригинал: modxcms#16988

Ibochkarev and others added 4 commits August 11, 2026 07:35
Guard property description lookup in modElement::get() and modPropertySet::get()
when the desc key is missing, preventing PHP 8 warnings in the manager log.
Co-authored-by: Jim Graham <jim@pixelsandstrings.com>
Co-authored-by: Jim Graham <jim@pixelsandstrings.com>
@Ibochkarev Ibochkarev changed the title Фикс undefined array key "desc" в переводе лексикона свойств элемента Fix undefined array key "desc" in element property lexicon translation Aug 21, 2026
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.

1 participant