Бортовой журнал Ктулху

ModX: имя чанка недопустимо

При сохранении чанка возникает ошибка "Такое имя чанка недопустимо!"

d0cee5c089

При попытке создать чанк или сниппет выдает предупреждение — «Такое имя чанка недопустимо.» или «Такое имя сниппета недопустимо.»

Ошибка была найдена в использовании функции preg_match, в которой используется регулярное выражение из файла «modx.mysql.schema.xml» проверяющее правильность имени чанков или сниппетов.

Регулярное выражение (правило), на которое ругается:

rule="/^(?!s)[a-zA-Z0-9x2d-x2fx7f-xff_-s]+(?!s)$/"

Нужно заменить на такой код:

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

в файлах:

  • modchunk.map.inc.php - для чанков,
  • modsnippet.map.inc.php - для сниппетов,
  • modtemplate.map.inc.php - для шаблонов,
  • modtemplatevar.map.inc.php - для TV.

https://github.com/modxcms/revolution/pull/777