Фильтрация для авторизованного пользователя

Подскажите, пожалуйста, как можно сделать, чтобы для авторизованных пользователей ссылка Авторизация превращалась в Личный кабинет?

Пытаюсь сделать с помощью фильтра:
[[!+modx.user.id:isloggedin=`Личный кабинет`:else=`Авторизация`]]
Но данная конструкция не выводит никакого результата.

Вот такие варианты тоже не дают нужного результата.
[[+modx.user.id:memberof=`User`:then=`Личный кабинет`:else=`Авторизация`]]
[[!+modx.user.id:gt=`0`:then=`Авторизация`:else=`Личный кабинет`]]
Может быть условия не правильные или что? Помогите разобраться, только начинаю работать на modx.
Амина
05 мая 2021, 01:02
modx.pro
365
0

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

Амина
05 мая 2021, 01:19
-1
Получилось решить проблему, если кому надо:

[[!+modx.user.id:is=`1`:then=`
li><a class="top_menu" href=[[~19]]>Вход</a></li>
<li><a class="top_menu" href=[[~17]]>Регистрация</a></li>
`:else=`
<li><a class="top_menu" href=[[~19]]>Личный кабинет</a></li>
`]]
    Николай Савин
    05 мая 2021, 07:25
    +1
    Не нужно использовать такое. Эта дрянь никогда нормально не работала.
    Пользуйтесь шаблонизатором fenom вообще, в том числе и для подобного. Материала на форуме для этого предостаточно.

    Конкретно ваш вопрос решается вот так

    {if '' | isloggedin : 'web'} 
        <li><a class="top_menu" href="{19 | url}">Личный кабинет</a></li>
    {else}
        <li><a class="top_menu" href="{19 | url}">Вход</a></li>
        <li><a class="top_menu" href="{17 | url}">Регистрация</a></li>
    {/if}
      Амина
      05 мая 2021, 14:12
      0
      Спасибо за ваш ответ! Очень помогли!
      Николай Савин
      05 мая 2021, 07:27
      0
      И вообще у вас неверно сформулированное условие.
      Вы проверяете не авторизацию пользователя, а его ID. То есть для других пользователей, даже если они авторизуются — ничего не изменится.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4