Recherche rapide : Avancée

 

Vous êtes ici : Accueil > Snippets > Menus > Menu Login / Logout

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