0

在 TYPO3 9 中,我设法使用以下 Typoscript 在 FLUID 模板中显示当前用户名:

[loginUser=*]
    temp.username = TEXT
    temp.username {
        insertData = 1
        value = {TSFE:fe_user|user|username}
        noTrimWrap = | ||
    }
[global]

在 TYPO3 10.4 中,这不再起作用。知道如何显示当前用户吗?非常感谢!乌尔斯

4

3 回答 3

5

在 Typo3 V10 中,您必须使用 Context API 从全局对象中检索数据,试试这个:

[frontend.user.isLoggedIn]
temp.username = TEXT
temp.username.data = TSFE:fe_user|user|name
temp.username.wrap = |
[global]

看看这些链接:

https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/DataTypes/Index.html https://docs.typo3.org/m/typo3/reference-coreapi/master/en -us/ApiOverview/Context/Index.html#context-api

弗洛里安

于 2020-05-12T08:14:52.783 回答
4

它可能不起作用,因为您使用的是旧的 TypoScript 条件。从 TYPO3 9 开始,条件适用于 Symfony 表达式。旧条件在 TYPO3 9 中已弃用(但仍然有效)并在 TYPO3 10 中删除。因此在 TYPO3 10[loginUser=*]中永远不会如此。您应该[frontend.user.isLoggedIn]改用。

有关新的 TypoScript 条件的更多信息,请参阅https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html 。

于 2020-05-12T08:02:46.003 回答
1

为什么使用 TypoScript?它可以带回的东西非常有限。我刚刚完成了一个教程,您可以在其中使用 ViewHelper 添加一个 ExtBase 变量,该变量在 FrontEnd 中分配整个用户对象,您可以在任何您想要的任何位置使用它与它的所有关系,甚至是图像,这很难通过 TypoScript 获得。

TYPO3 教程

此致

于 2020-12-21T11:57:00.640 回答