Как в Java-Script указать зарегистрированного на сайте юзера ?
        Всем привет. 
Прошу мне помочь указать вместо isUser зарегистрированного на сайте юзера:
Спасибо!
    
    
                                                                                
            Прошу мне помочь указать вместо isUser зарегистрированного на сайте юзера:
<script>
/* Считаем что в переменной isUser — содержится текущий статус пользователя
*/
var userChat = document.getElementById('myWidgetUser'),
   guestChat = document.getElementById('myWidgetGuest');
if (isUser) {
   widget(userChat).start();
   guestChat.parentNode.removeChild(guestChat);
} else {
   setTimeout(function () {
       widget(guestChat).start();
       guestChat.parentNode.removeChild(guestChat);
   }, 30000);
}
</script>Скрипт у меня оказался готовый, а адаптировать его под модх навыков нет. Также с удовольствием выслушаю более оптимальные варианты.Спасибо!
Комментарии: 9
                Fenom:
Если пользователь не авторизован, то user.id = 0
                    <script>
    window.user = {
         id: {$_modx->user.id}
         fullname: {$_modx->user.fullname}
    }
</script>Smarty:<script>
    window.user = {
         id: [[+modx.user.id]]
         fullname: [[+modx.user.fullname]]
    }
</script>Почитайте:Если пользователь не авторизован, то user.id = 0
                те финальный код должен выглядеть так?
                    <script>
    window.user = {
         id: {$_modx->user.id}
         fullname: {$_modx->user.fullname}
    }
</script>
<script>
var userChat = document.getElementById('myWidgetUser'),
   guestChat = document.getElementById('myWidgetGuest');
if (user.id = 0) {
   widget(guestChat).start();
   guestChat.parentNode.removeChild(guestChat);
} else {
   setTimeout(function () {
   widget(userChat).start();
   guestChat.parentNode.removeChild(guestChat);    
   }, 30000);
}
</script>            
                Если прям упростить и в JS данные пользователя не нужны, то можно использовать 
                    {$_modx->isAuthenticated()}Получится:<script>
var userChat = document.getElementById('myWidgetUser'),
   guestChat = document.getElementById('myWidgetGuest');
if ({$_modx->isAuthenticated()}) {
   widget(userChat).start();
   guestChat.parentNode.removeChild(guestChat);
} else {
   setTimeout(function () {
       widget(guestChat).start();
       guestChat.parentNode.removeChild(userChat);    
       }, 30000);
}
</script>            
                Если он в таком виде прописан в шаблоне и не подключается файлом, как и в предыдущем способе. То можно c помощью Fenom вывести необходимый блок в script.
                    <script>
var userChat = document.getElementById('myWidgetUser'),
   guestChat = document.getElementById('myWidgetGuest');
   {if $_modx->isAuthenticated()}
        widget(userChat).start();
        guestChat.parentNode.removeChild(guestChat);
   {else}
        setTimeout(function () {
           widget(guestChat).start();
           guestChat.parentNode.removeChild(userChat);    
           }, 30000);
    {/if}
</script>            
                Большое спасибо за помощь.
а
                    а
{$_modx->isAuthenticated()} будет обрабатываться внутри чанка?            
                да            
                    
                Главное про кавычки и запятую не забудь.
                    <script>
    window.user = {
         id: {$_modx->user.id},
         fullname: '{$_modx->user.fullname}'
    }
</script>            <script>
    let window.user = {
         id: [[+modx.user.id]],
         fullname: [[+modx.user.fullname:desault=`anonimus`]],
    }
</script>            
                Благодарю, тк ни один из предложенных выше вариантов так и не запустился. В итоге решил задачу так:
                    [[!+modx.user.id:isloggedin:is=`1`:then=`[[$myWidgetUser]]`:else=`[[$myWidgetGuest]] `]]            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.