0

我有几个注册用户和站点的部分(页面),只能由某些用户组/用户访问。

当我想获取有关当前登录用户的更多信息时......我通过打字稿将 uid 和 userame 发送到前端(流体模板),如下所示:

打字稿:

lib.uid = TEXT
lib.uid.data = TSFE:fe_user|user|uid

lib.username = TEXT
lib.username.data = TSFE:fe_user|user|username

Main_layout.html:

<div class="container mainbox">
    <div itemscope itemtype="http://schema.org/Corporation">

    <f:render section="content" />

        <script>            
            var userID = '';            
            var userName = ''; 

            userID = '<f:cObject typoscriptObjectPath="lib.uid" />';            
            userName = '<f:cObject typoscriptObjectPath="lib.username" />';                 

            console.log(userID);            
            console.log(userName); 

        </script>

    </div>
</div><!-- /.container -->                  

但是在测试不同的用户时……我有时并没有得到当前登录用户的正确用户信息。编辑配置文件(带有femanager)中的信息是正确的......但是在控制台中查看时......我有时会得到以前测试用户的信息。

什么可能导致这种情况?

4

1 回答 1

1

你能添加你的 TypoScript 代码吗?我在页面上使用了一个 COA_INT 对象,它似乎可以工作:

page.3 = COA_INT
page.3 {
 10 = TEXT
 10.data = TSFE:fe_user|user|uid

 20 = TEXT
 20.data = TSFE:fe_user|user|username
}

我认为您可以编写如下内容:

lib.myjscode = COA_INT
lib.myjscode {
    10 = TEXT
    10.value(
        var userID = '';            
        var userName = '';
    )
     20 = TEXT
     20.data = TSFE:fe_user|user|uid
     20.wrap = userID = '|';

     30 = TEXT
     30.data = TSFE:fe_user|user|username
     30.wrap = userName = '|';

     40 = TEXT
     40.value (
        console.log(userID);            
        console.log(userName); 
     )
    wrap = <script>|</script> 
    }        


page.3 < lib.myjscode
于 2018-02-12T20:23:42.880 回答