Bonjour,
J'ai installé le plugin accès restreint. Son comportement par défaut est de ne rien afficher de ce qui est restreint aux personnes non authentifiées.
Pour ma par je veux restreindre qu'une partie du site, une seule rubrique en fait: l'"Espace membres". Le comportement devra être le suivant:
- le lien vers la rubrique "Espace membre" devra obligatoirement être affiché même aux personnes non authentifiées.
- un clique sur ce lien (au autre contenu restreint) devra
o si l'internaute est identifié: afficher la page
o si l'internaute n'est PAS identifié: afficher une page avec le formulaire de login
J'ai trouvé sur cette liste un hack qui correspond à peu près. Il faut insérer les lignes suivantes à la fin du contenu par défaut du squellette article.html:
</BOUCLE_article_principal>
[(#ID_ARTICLE|AccesRestreint_article_restreint|?{' ',''})
#LOGIN_PUBLIC
]
[(#ID_ARTICLE|AccesRestreint_article_restreint|?{'',' '})
Cette page n'existe pas
]
<//B_main>
Mais le résultat dans les deux cas (réelle page 404 ou formulaire de login) est une page dépouillée: page de </html> par ex, pas de footer, pas de menu, même pas le logo du site... Ce n'est bien sur pas convenable.
J'ai donc créé un squelette protected.html ou j'ai viré les balises <BOUCLE_article_principal(ARTICLES) {id_article}> et </BOUCLE_article_principal> et ou j'ai remplacé le div "contenu" pas celui ci:
<div id="contenu">
<h2>Cette partie est en accès restreint</h2>
#LOGIN_PUBLIC
</div><!-- fin contenu -->
La page résultant génère une erreur:
# Erreur(s) dans le squelette
* <BOUCLE>()
Erreur MySQL
id_rubrique FROM spip_rubriques WHERE id_rubrique=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
</BOUCLE>
De plsu les pages non restreintes ont ça après </html> :
Cette page n'existe pas
<//B_principal>
Si quelqu'un peu m'aider un peu car je ne sais plus trop quoi faire...
Amicalement.
--
laurent