.. include:: /Includes.rst.txt .. _deprecation-100349-1680097287: ======================================================================== Deprecation: #100349 - TypoScript loginUser() and usergroup() conditions ======================================================================== See :issue:`100349` Description =========== The two TypoScript / TSconfig related condition functions :typoscript:`[loginUser()]` and :typoscript:`[usergroup()]` have been marked as deprecated with TYPO3 v12, should not be used anymore and will be removed in TYPO3 v13. They can be substituted using conditions based on the variables :typoscript:`frontend.user` and :typoscript:`backend.user`. Impact ====== Using the old conditions in frontend TypoScript or TSconfig triggers a deprecation level log entry in TYPO3 v12 and will stop working with TYPO3 v13. Affected installations ====================== Instances with TypoScript or TSconfig using one of the above functions may be affected. This is a relatively common use case, but affected instances can be adapted quite easily. Migration ========= There is a rather straightforward migration path. In general, switch to either :typoscript:`frontend.user` to test for frontend user state (available in frontend TypoScript), or to :typoscript:`backend.user` (available in frontend TypoScript and TSconfig). Note the transition can be done in existing TYPO3 v11 projects already. Some examples: .. code-block:: typoscript [loginUser('*')] page = PAGE page.20 = TEXT page.20.value = User is logged in
[end] [frontend.user.isLoggedIn] page = PAGE page.21 = TEXT page.21.value = User is logged in
[end] [loginUser('*') === false] page = PAGE page.30 = TEXT page.30.value = User is not logged in
[end] [!frontend.user.isLoggedIn] page = PAGE page.31 = TEXT page.31.value = User is not not logged in
[end] [loginUser(13)] page = PAGE page.40 = TEXT page.40.value = Frontend user has the uid 13
[end] [frontend.user.userId == 13] page = PAGE page.41 = TEXT page.41.value = Frontend user has the uid 13
[end] [loginUser('1,13')] page = PAGE page.50 = TEXT page.50.value = Frontend user uid is 1 or 13
[end] [frontend.user.userId in [1,13]] page = PAGE page.51 = TEXT page.51.value = Frontend user uid is 1 or 13
[end] [usergroup('*')] page = PAGE page.60 = TEXT page.60.value = A Frontend user is logged in and belongs to some usergroup.
[end] # Prefer [frontend.user.isLoggedIn] to not rely on magic array values. [frontend.user.userGroupIds !== [0, -1]] page = PAGE page.61 = TEXT page.61.value = A Frontend user is logged in and belongs to some usergroup.
[end] [usergroup(11)] page = PAGE page.70 = TEXT page.70.value = Frontend user is member of group with uid 11
[end] [11 in frontend.user.userGroupIds] page = PAGE page.71 = TEXT page.71.value = Frontend user is member of group with uid 11
[end] [usergroup('1,11')] page = PAGE page.80 = TEXT page.80.value = Frontend user is member of group 1 or 11
[end] [1 in frontend.user.userGroupIds || 11 in frontend.user.userGroupIds] page = PAGE page.81 = TEXT page.81.value = Frontend user is member of group 1 or 11
[end] .. index:: TSConfig, TypoScript, NotScanned, ext:core