userinfo для анонимов

Здравствуйте.
Как вывести поля пользователя анониму? Например, [[!+modx.user.id:userinfo=`name`]]
А какие-то другие поля только залогинненым пользователям? Например, [[!+modx.user.id:userinfo=`telefon`]]
Anton
10 июля 2016, 11:01
modx.pro
2 334
0

Комментарии: 19

Павел Романов
10 июля 2016, 14:07
1
+1
Добрый день.
Например, так:
[[!+modx.user.id:is=`0`:then=`Контент для анонимов`:else=`Контент для залогиненных`]]
    Anton
    10 июля 2016, 14:32
    0
    Спасибо.
    А как сделать то же самое, только для групп пользователей?
      Павел Романов
      10 июля 2016, 14:43
      +1
      [[!+modx.user.id:memberof=`Administrator`:then=`.........`:else=`.........`]]
        Anton
        10 июля 2016, 14:43
        0
        Спасибо, добрый человек!
        Хорошего дня!
          Anton
          10 июля 2016, 15:27
          +1
          А почему не работает вот так [[!+modx.user.id:memberof=`anonymous`:then=`Ты аноним`:else=`Ты НЕ аноним`]]? Говорит, что Ты НЕ аноним
            Сергей Шлоков
            10 июля 2016, 15:57
            +1
            Потому что код бессмысленный. Во-первых, должна быть такая группа anonymous. Во-вторых, текущий пользователь должен быть в ней зарегистрирован. А если пользователь залогинился, то какой же он аноним.
              Anton
              10 июля 2016, 16:06
              -2
              Как сделать? Что читать?
                Сергей Шлоков
                10 июля 2016, 16:24
                +1
                Что читать?
                Комментарии Павла.
                  Anton
                  10 июля 2016, 20:44
                  0
                  Прочитал, сделал, не получилось.
                  Что-то не так? :) Другой способ есть подсказать?
                    Сергей Шлоков
                    11 июля 2016, 13:07
                    +1
                    Вам бы батенька в Аншлаг. Там тоже шутки не смешные.
                      Anton
                      11 июля 2016, 14:42
                      0
                      Я спросил как вывести userinfo для анонимов.
                      [[!+modx.user.id:is=`0`:then=`Контент для анонимов`:else=`Контент для залогиненных`]]
                      и
                      [[!+modx.user.id:memberof=`Administrator`:then=`.........`:else=`.........`]]
                      работает для залогиненных пользователей.
                      Вы мне советуете еще раз перечитать то, что не работает.

                      По теме подсказать можете?
                        Сергей Шлоков
                        11 июля 2016, 17:09
                        0
                        Я спросил как вывести userinfo для анонимов.
                        Это вам к телепатам. Только они смогут подсказать имя, фамилию, телефон и адрес анонима. Я, к большому сожалению, не обладаю такими возможностями.
                        Anton
                        11 июля 2016, 17:49
                        -3
                        Мущина, ты внимательно пост прочитал?

                        Как вывести поля пользователя (т.е. пользователь в системе зареган и имеет поля с именем, телефоном, email) ---> анониму (т.е. простому посетителю сайта показать поля пользователя с id=7, например)?
                        Илья Уткин
                        11 июля 2016, 18:47
                        0
                        Ахаха, из поста этого никак не следует)

                        [[*id:input=`7`:userinfo=`fullname`]]
                        Anton
                        11 июля 2016, 19:06
                        0
                        Ахаха, спасибо!
                        Вот это и пытался найти [[*id:input=`[[[[+modx.user.id]]]]`:userinfo=`fullname`]]
                        Илья Уткин
                        11 июля 2016, 19:15
                        +1
                        Смотри, [[+modx.user.id]] — это плейсхолдер, в котором содержится id текущего пользователя (для анонима — это ноль). Но то, как ты его написал, может привести к проблемам. У тебя указано без восклицательного знака, а значит, этот плейсхолдер закешируется и для всех пользователей будет показано имя первого, кто открыл эту страницу.

                        Я не знаю, какую задачу ты решаешь. Но предположу, что ты хочешь, например, указать, кто автор статьи. Тогда надо использовать поле ресурса createdby, в котором указан id пользователя
                        [[*createdby:userinfo=`fullname`]]

                        Или ты получаешь id пользователя в своём сниппете — тогда нужно передать его в чанк в виде плейсхолдера, например
                        [[+user:userinfo=`fullname`]]

                        Вариант [[*id:input=`7`:userinfo=`fullname`]] нужно использовать, например, если ты хочешь указать, кто является администратором — ты знаешь его id и надо просто подставить число в нужное место.
                        Anton
                        11 июля 2016, 19:37
                        0
                        Просто волшебно!
                        Огромное спасибо за разъяснения.

                        Вот это идеально подходит [[*createdby:userinfo=`fullname`]]
                        Даже дополнительные поля вытягивает.
      Anton
      10 июля 2016, 15:41
      0
      Если выводить только контент, то работает.
      А если попросить вот так: [[!+modx.user.id:is=`0`:then=`Скрыто`:else=`[[!+modx.user.id:userinfo=`name`]]`]], то не работает.

      Что делаю неправильно?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    19