Nous avons eu une configuration typoscript pour indiquer au CSS dans quelle langue nous sommes, en ajoutant une classe dans la balise body avec un nom de classe language-x
.
Puisque rien ne semble être documenté sur la façon de faire cela dans Typoscript, je n'ai pas encore beaucoup essayé de résoudre ce problème.
Pour ce faire, nous avons utilisé ce typoscript:
Property $TSFE->sys_language_uid is not in use anymore as this information is now stored within the language aspect
Cela soulève maintenant un E_USER_DEPRECATED
:
// Language 30 = TEXT 30 { data = TSFE:sys_language_uid noTrimWrap = | language-|| }
Merci d'avance. Cordialement Thomi
3 Réponses :
En consultant la documentation:
Je pense que vous pouvez utiliser une condition comme:
html[lang="it"]{ /*css code here*/ }
Veuillez noter que TYPO3 9.5 met déjà la langue actuelle dans la balise
, comme:
Vous pouvez donc utiliser un sélecteur d'attribut (très bien pris en charge) dans votre css:
[siteLanguage("typo3Language") == "it"] page.bodyTag = <body class="language-it"> [global]
Depuis TYPO3 9.5.3 , il est également possible d'accéder à la configuration actuelle de la langue du site avec TypoScript Setup:
page.10 = TEXT page.10.dataWrap = The current site language direction is {siteLanguage:direction}
ou
page.10 = TEXT page.10.data = siteLanguage:navigationTitle page.10.wrap = This is the title of the current site language: |
@ josef-glatz comme vous l'avez suggéré, je pense que cela fonctionne aussi.
Dans le cas de Thomi, je suggère d'utiliser:
// Language 30 = TEXT 30 { data = sitelanguage:languageId noTrimWrap = | language-|| }
REMARQUE IMPORTANTE: Ceci n'est disponible que depuis TYPO3 9.5.4 , puisque Georg Ringer n'a résolu le problème que le 28.12.2018.