Got error 'POSIX collating elements are not supported at offset 1' from regexp
Данная ошибка встречается при попытке отфильтровать товар на странице каталога в публичной части сайта.
Суть ошибки заключается в невозможности использовать 'POSIX элементы в SQL запросе
например такие:
[[.vertical-line.]]
[[.plus-sign.]]
[[.asterisk.]]
[[.left-parenthesis.]]
[[.right-parenthesis.]]
[[.question-mark.]]
Для устранения ошибки, необходимо обратиться к администратору базы данных с просьбой включить опцию MySQL для работы с POSIX элементами в регулярных выражениях.
Внимание! Если на вашем хостинге нет возможности изменить настройки MySQL, можно изменить код в файле
mg-core\lib\filter.php
Найдите строку 568 строку (в 10-ке это 630-я строка)
КОД:
ВЫДЕЛИТЬ ВСЁ
$sql .= '(LCASE(concat("|",pup'.$id.'.value,"|")) REGEXP LCASE("[[.vertical-line.]]'.DB::quote(htmlspecialchars_decode($value),true).'(#.*#)?[[.vertical-line.]]")))) OR ';
Замените ее на
КОД:
ВЫДЕЛИТЬ ВСЁ
$sql .= '(LCASE(concat("|",pup'.$id.'.value,"|")) REGEXP LCASE("'.DB::quote(htmlspecialchars_decode($value),true).'(#.*#)?")))) OR ';
Но имейте ввиду, если в значениях характеристик тоавар будут встречаться символы "|+*()?" ошибка появится снова.