Спасибо, изучаю, но туго как то все получается)) Поэтому и приходиться время от времени к Вам обращаться.

Поставил и изучил пакет Peoples. Мне сразу показался подозрительным ваш первый запрос [[!Peoples? &where={"Profile.extended":"age":"31"}]] и сейчас я точно знаю что он у вас неправильный в корне. Peoples при выполнении так же формирует обычный xPDO-запрос (типа того, что я привел выше), и в качестве условия where принимает массив или JSON-строку. {"Profile.extended":"age":"31"} - это не правильная JSON-строка, при попытке разбора ее метод json_decode вернет пустое значение, то есть условие where не будет учтено в принципе, будут выведены все пользователи (точнее их юзернеймы, а не объекты пользователей). А условие &where={"id":31} будет работать, но вернет только пользователя с id=31, если таковой будет иметься. еще раз: изучайте xPDO, как бы сложно это не казалось. Пока вы не будете понимать xPDO, вы ничего не будете по настоящему понимать в MODX-е. И pdoTools вас не спасет, если вы не будете понимать xPDO, так как pdoTools так же основывается на xPDO, просто это синтаксический сахар.

Какое именно поле? Которое в extended? Это отдельная песня. Там JSON-строка. Во-первых, по ним нельзя на уровне SQL-запроса выполнить поиск (Можно только сначала получить все данные, разобрать extended-поле и отсеять лишние объекты). Во-вторых, из-за на стороне php приходится порой использовать дополнительную логику. Например, вот так: <php

$q = $modx->newQuery('modUser');

$q->innerJoin('modUserProfile', 'Profile');

$q->select(array(

"Profile.*",

"modUser.*",

));

$users = array();

foreach($modx->getCollection('modUser', $q) as $user){

if(

    $extended = json_decode($user->get('extended'), 1)

    AND !empty($extended['age'])

    AND $extended['age'] == 31

){

    $users[] = $user;

}

}

Ага, разобрался. Один момент хочу уточнить - а как мне вывести здесь дополнительное поле? $q->where(array(

'Profile.city' => "Москва",

)); Вместо этого 'Profile.city' что писать?

Все равно ничего не выводит. Ума не приложу, где ошибка.

А сниппет Peoples установлен? Изучайте xPDO. $q = $modx->newQuery('modUser');

$q->innerJoin('modUserProfile', 'Profile');

$q->where(array(

'Profile.city' => "Москва",

));

$q->select(array(

"Profile.*",

"modUser.*",

));

$s = $q->prepare();

$s->execute();

while($row = $s->fetch(PDO::FETCH_ASSOC)){

print "". $row['username'];

}

Только актуальная сейчас MODX 2.2.15 Не за что!

Топик: Fatal error