MODx Revolution v2.2.10 pl. Ошибка «Такое имя чанка не доступно».

С определенного времени на сайте стала появляться ошибка «Такое имя чанка не доступно». Замечу что движок не обновлялся и каких-либо кардинальных изменений сайта не происходило.

Посмотрим на log и видим следующую ошибку

(ERROR @ public_html/core/xpdo/validation/xpdovalidator.class.php : 82) PHP warning: preg_match(): Compilation failed: invalid range in character class at offset 38
(ERROR @ public_html/core/xpdo/validation/xpdovalidator.class.php : 82) PHP warning: preg_match(): Compilation failed: invalid range in character class at offset 38

Ошибка в регулярном выражении. Скорее всего ошибка связана с настройкой сервера на котором крутится сайт.

Для решения этой проблемы необходимо в файлах изменить регулярное выражении.

  • core/model/modx/mysql/modsnippet.map.inc.php
  • core/model/modx/mysql/modchunk.map.inc.php

Меняем строку с

'rule' => '/^(?!\s)[a-zA-Z0-9\x2d-\x2f\x7f-\xff_-\s]+(?!\s)$/'

на

'rule' => '/^(?!\s)[a-zA-Z0-9\x2d-\x2f\x7f-\xff-_\s]+(?!\s)$/'

После этих проделанных действий проблема с добавлением новых чанков и сниппетов решилась