Переход на modx 3 и php8

Использую вот такое выражение на fenom
{var $show_on_page = $_modx->resource.show_on_page}
{if $show_on_page | match : '*image_in_header*'}
...
{/if}
При переходе на php 8 возникает ошибка:

[2026-08-10 14:31:03] (ERROR @ /home/.../public_html/core/components/pdotools/src/Parsing/Fenom/Fenom.php : 189) Unexpected token 'match' in expression in content.page.new line 2, near '{if $show_on_page | match' <- there in 8c402f8e18f1571f3ab69ace2446be36 line 8, near '{include 'content.page.new'' <- there

Подскажите как переписать это выражение?
Александр
Александр
10 августа 2026, 14:37
modx.pro
318

Комментарии: 2

Денис Валентинович
11 августа 2026, 01:57
Ошибка возникает из-за того, что начиная с PHP 8 слово match стало зарезервированным ключевым словом (выражение match – аналог switch). Из-за этого PHP спотыкается об него на этапе лексического анализа, воспринимая его как конструкцию языка, а не как модификатор Fenom.

Попробуйте использовать оператор in:
{var $show_on_page = $_modx->resource.show_on_page}
{if 'image_in_header' in $show_on_page}
    ...
{/if}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2