Un menu de type login/logout avec le statut de la connexion
Voici un Typoscript qui vous permettra d'afficher un menu de type login box dans votre gabarit. Le TS suivant, temp.loginbox, vérifie si l'utilisateur est actuellement connecté ou non au site par le biais d'une extension comme newloginbox. Si il est connecté, il a la possibilité de modifier son compte, sinon, on l'invite à se connecter sur la page de login ou bien à s'enregistrer si il n'a pas encore de compte.
Le typoscript fait appel à une librairie TS userfunc_ts.inc pour optimiser un peu le code pour le référencement (attribut title sur une balise a href) et aux constantes suivantes à définir dans votre gabarit :
idPageUpdateAccount = id de la page de modification des données personnelles
idHomepage = id de la homepage
idPageSignIn = id de la page de connexion à la partie privée du site
idPageRegister = id de la page pour créer un nouveau compte
A noter que ce code fonctionne de concert avec newloginbox et sr_feuserregister.
temp.loginbox = COA_INT
[loginUser = *]
# Librairie pour ajouter un field=title sur ATagParams typolink
includeLibs.userFunc = fileadmin/userFunc/userfunc_ts.inc
temp.loginbox {
wrap = <div id="subscribe"><p>|</p></div>
5 = TEXT
5.data = TSFE:fe_user|user|username
5.wrap = Bonjour |
10 = TEXT
10.value = , vous êtes <strong>connecté(e)</strong>
15 = TEXT
15.typolink.parameter={$idPageUpdateAccount}
15.typolink.userFunc = user_userFunc->addAttributes
15.typolink.userFunc.aTagParams.dataWrap = alt="Modifier votre profil" title="Modifier votre profil"
#15.typolink.userFunc.aTagParams.dataWrap = alt="{field:title}" title="{field:title}"
15.wrap = <br />|
20 = HTML
20.value = <br /><a href="index.php?id={$idHomepage}&logintype=logout" title="Se déconnecter">Se déconnecter</a>
}
[ELSE]
temp.loginbox {
wrap = <div id="subscribe">|</div>
10 = TEXT
10.value = Se connecter
10.typolink.parameter={$idPageSignIn}
10.wrap = <p id="login">| pour accéder à la partie privée du site.</p>
40 = TEXT
40.value = S'enregistrer
40.typolink.parameter={$idPageRegister}
40.wrap = <p id="register">Nouveau sur le site ? |.</p>
}
Librairie supplémentaire
Voici le code contenu dans le fichier userfunc_ts.inc, à placer dans le répertoire fileadmin. A titre d'exemple, j'ai placé ce code dans fileadmin/userFunc/
<?
class user_userFunc{
function addAttributes($content,$conf) {
$aTagParams = $this->cObj->stdWrap($conf['aTagParams'], $conf['aTagParams.']);
$content["aTagParams"].= ' '.$aTagParams;
$content['TAG'] = '<a href="'.$content["url"].'"'.$content["targetParams"].$content["aTagParams"].'>';
return $content['TAG'];
}
}
?>
Les derniers snippets :
Menu simple texte (TMENU)
TYPO3 : menu texte, TMENU, HMENU, GMENU
tt_news
Quelques astuces tt_news pour travailler plus efficacement avec cette formidable extension
Utilisateurs backend
Quelques informations utiles pour configurer les comptes des utilisateurs backend de TYPO3