Ну как говорится "Век живи - век учись!"
JA K2 Filter And Search меня уже порядком достал, но работать можно.
Проблема кроется в незнании и малого опыта работы с K2.
При прямой загрузки в MySQL в столбец
extra_fields все происходит как надо например в моем случае так ( я не буду приводить код загрузки, просто выдержки):
Формируем переменную для доп.полей из массива
$extra_fields = '[
{"id":"20","value":"'.$item[7].'"},
{"id":"21","value":"'.$item[8].'"},
{"id":"22","value":"'.$item[9].'"}
]';
Пускай в $item[9] хранится "Карбышева наб.", мы это записываем в доп.поле с id=22 (Улица).
Открываем MySQL и видим у нужного материала, в столбце
extra_fields, стоит
{"id":"22","value":"Карбышева наб."}
Теперь индексируем все материалы с помощью компонента JA K2 Filter And Search.
После индексации в таблице
jak2filter_taxonomy появится наш Советский пр-т с типом
Search Label.
Ну вроде все... все должно работать. Идем на фронт)))) в модуле фильтра выбираем наш Карбышева наб. жмем кнопку и.... NULL
Я негодую, что происходит - включаю модуль родного поиска от K2, он все прекрасно находит ( в столбце
extra_fields_search тоже есть Карбышева наб.). И тут я случайно, нахожу в MySQL отредактированный и сохраненный через админку материал, а в столбце b]extra_fields[/b] стоит
{"id":"22","value":"\u041a\u0430\u0440\u0431\u044b\u0448\u0435\u0432\u0430\u043d\u0430\u0431."}
Вот где собачья морда порылась
Пишим функцию
function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');
}
и вызываем ее
$street = json_encode(utf8_urldecode($item[9])); // Кодируем улицу
$street = mysql_real_escape_string($street); // Экранируем обратный слэш иначе в MySQL придет u041au0430u0440u0431u044bu0448u0435u0432u0430u043du0430u0431.
Повторяем запись в MySQL и индексируем - вот теперь все работает как надо.
Одного понять не могу пока - на странице с квартирами я выставил модуль JA K2 Filter And Search, в его настройках указал что результат выводить на странице тра-ля-ля. Произвожу поиск, перебрасывает на страницу с результатами, но если я перейду на вторую страницу, то модуль пропадает. Если есть у кого какие соображения, сократите мое время пожалуйста, накидайте ссылок.