Menus Typo3 : afficher les pages à accès restreint

Un article de Typo3 CMS / Documentation Typo3 / Support Typo3.

Aller à : Navigation, Rechercher

Dans un menu généré par Typo3, par défaut si une ou plusieurs pages ont un accès réservé à un groupe d'utilisateurs FE ces pages n'apparaissent qu'une fois l'utilisateur identifié.

Si on veut que ces pages apparaissent tout de même dans le menu, il existe une méthode de configuration que l'on peut trouver ici :

MENU Objects / Common properties : http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/10/1/

Ces propriétés s'appliquent à tous les objets de menu (TMENU, GMENU etc.).


[modifier] Exemple d'utilisation

lib.menuPerso = HMENU
lib.menuPerso {
special = directory
// id du dossier contenant les pages du menu :
special.value=12
stdWrap.wrap=<ul class="perso">|</ul>
stdWrap.required=1
1 = TMENU
1{
 noBlur=1
 // id de la page contenant le formulaire d'identification :
 showAccessRestrictedPages=15
 // ajout de paramètre (uid de la page demandée) :
 showAccessRestrictedPages.addParams= &pageId=###PAGE_ID###
 NO.allWrap=<li>|</li>
 }
1.ACT=1
1.ACT < lib.menuPerso.1.NO
1.ACT.allWrap=<li class="act">|</li>
}


[modifier] Explication

Le menu présenté ici liste les pages contenues dans la page dont l'uid est 12. Ces pages sont en accès réservé (via un groupe FE).

showAccessRestrictedPages=15 : les pages apparaissent dans le menu même si l'utilisateur n'est pas logué et pointent vers la page dont l'uid=15. Cette page contient un formulaire d'identification : si l'utilisateur n'est pas logué, il est redirigé vers la page d'authentification.

showAccessRestrictedPages.addParams= &pageId=###PAGE_ID### : si l'utilisateur n'est pas logué, un paramètre est ajouté à l'URL pointant vers la page d'authentification :

ce paramètre est l'id de la page à accès réservé correspondant à l'item du menu. Ceci permet éventuellement à l'utilisateur d'être redirigé vers la page demandée précédemment via le formulaire d'identification (à gérer dans l'extension utilisée pour la boîte de log).

Voici un exemple de lien généré (utilisateur non logué) :

<a href="index.php?id=15&pageId=14">Titre de la page 14</a>

L'utilisateur demande la page 14 (accès restreint via groupe FE) mais il est redirigé vers la page 15 pour s'identifier.


Une fois que l'utilisateur est logué, les liens générés dans le menu ne sont plus modifiés et pointent normalement vers les pages.