Поиск по extended на русском и Английском
Долго ковыряя всякие where которые не работают:
Записывать в эти поля данные лучше в одном регистре чтобы не возникло проблем с поиском из за особенностей json.
***************
Добавил в результаты работы кода еще таблицу Users =)))
Кто желает улучшить код — я только за.
5
[[!pdoUsers?
&sortdir=`DESC`
&tpl=`user`
&where=`{"`modUserProfile`.`extended`:LIKE":"%\"callsign\":\"РУССКИЙ ЯЗЫК\"%"}`
]]набросал рабочий механизм долгожданного поиска для сниппета))$pole = 'pole';
$string = 'Слово';
$string = json_encode($string); // кодируем в JSON строку
$string = str_replace(array("'",'"'),'',$string); // убрать кавычки
$string = str_replace('\\','\\\\\\', $string); // экранировать обратные слеши
$c = $modx->newQuery('modUserProfile');
$c->leftJoin('modUser', 'User');
$c->select('User.*');
$c->select('modUserProfile.*');
$c->where(array('extended:LIKE' => '%'.$pole.'":"'.$string.'%'));
$c->prepare();
$c->stmt->execute();
$res = $c->stmt->fetchAll(PDO::FETCH_ASSOC);
if(!empty($res)){//если найдено
echo "<pre>";
print_r($res);
}Поиск по extended на русском и Английском или поиск по дополнительным полям.Записывать в эти поля данные лучше в одном регистре чтобы не возникло проблем с поиском из за особенностей json.
***************
Добавил в результаты работы кода еще таблицу Users =)))
Кто желает улучшить код — я только за.
Комментарии: 5