2015-11-16 8 views
0

Я разрабатываю специальную страницу менеджера модемов и не могу проверить, зарегистрирован ли пользователь и имеет ли доступ к менеджеру? До сих пор я пыталсяПользовательская страница менеджера Modx проверяет, был ли пользователь зарегистрирован и имеет доступ менеджера

$modx->user->get('username'); 

Все, что я получаю (анонимно) даже если я вошел в систему и, когда я не вошли in.I также пытались SessionContext и т.д., а также. Я делаю что-то неправильно. Кто-нибудь сталкивался с такой же проблемой.

ответ

0

Вам нужен пользовательский сниппет, чтобы управлять показами для людей, которые вошли в систему или нет, и Login Extra, чтобы легко получить доступ к полям пользователя. Затем вставьте это в и назовите его isAdmin:

<?php 
if ($modx->user instanceof modUser) { 
    if ($modx->user->hasSessionContext('mgr')) { 
     return true; 
    } 
} 
return false; 

И затем вы хотите использовать его, как это ...

[[!isAdmin:notempty=` 
    <!-- Do something for people logged in --> 

`:default=` 
    <!-- Do something for everyone else --> 
`]] 

код от Mark Hamstra's blog.

+0

Я создал фрагмент и назвал его из моего php-файла, расположенного в файле base_url/modules/demo/check.php, используя var_dump ($ modx-> runSnippet ('isManagerLogin')); метод, но он не работает. возвращает строку (0) "" –