Как отписаться от рассылки о новых постах?

Вообще данные процессоры по умолчанию исключают скрытые и не опубликованные объекты, поэтому ничего удивительного нет в том, что если документ не опубликован, то и данные его не могут быть получены. Вы еще явно в шаблоне или процессоре что-то модифицировали, в результате чего происходит критическая ошибка (скорее всего попытка выполнить действие на несуществующем объекте). Но так как это страница конкретного товара, и эта страница вам выводится даже не опубликованная, потому что есть права, то в шаблоне в условие процессора можно дописать: ,"showhidden" => 1,

    "showunpublished"   => 1 Это позволит получать данные и скрытых и неопубликованных товаров. Должно помочь.

А если вам и в списках надо видеть неопубликованные документы, то можно в условие написать типа "showunpublished" => $modx->hasPermission('view_unpublished')

Добрый день! Если вам вот это не поможет, то вам наверно уже ничто не поможет. А, и еще, так как у вас скорее всего будут фейковые УРЛы, вам может понадобиться подмена документов по 404-ой, пригодится метод MODx::sendForward() или это. Далее развивайте сами.

Правильно, только в json_decode второй параметр true надо добавить, чтобы получить в результате не объект, а массив, с ним проще работать. И вы совсем перепутали все переменные, не красиво. $extended_json = $row['extended'];

$extended = json_decode($extended_json, true);

print $extended['age']; // 31 Еще скажу, что объект modUserProfile при попытке получить поле extended ведет себя несколько иначе и возвращает не json-строку, а сразу массив. За это отвечает описание поля в его мап-файле. Если вы выполните $extended = $modx->getObject('modUser', $id)->Profile->get('extended'); , то получите сразу массив.

А это уже сами копайте, раз в такие дебри лезете :)

Во-первых, прекращаем все это обсуждать здесь, это оффтоп. Хотите что-то свое обсуждать - пишите топик. Во-вторых, через TV-шки - правильней, ИМХО. Про вероятные проблемы не буду рассуждать.

Ааа, разобрался. Внимательнее прочитал Ваш комментарий, что нужно сначала получить значение поля extended в json формате, затем декодировать его, а затем вывести уже можно. Получилось так: $json = $row['extended'];

$age = json_decode($json);

print $age->{'age'}; // 31 Правильно ли я сделал, или можно как-то сократить / оптимизировать запрос?

А можно ли вывести значение из поля extended.age? Пытаюсь так: print "". $row['extended.age']; и так: print "". $row['extended']['age']; Во втором случае выводит скобку {