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

Найдите строку

$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 ';

Но имейте ввиду, если в значениях характеристик товар будут встречаться символы "|+*()?" ошибка появится снова.

Подробная информация о POSIX - http://phpclub.ru/detail/article/simple_regular#part_2

Комментарии

Имя:
E-mail:
Введите текст с картинки:

Получать уведомления о новых коментариях:
Загрузить все