[SPIP Zone] Noizetier et login...

Bonjour,

Je ne sais pas si je poste sur la bonne liste mais après tout ça concerne des plugins...

J'utilise le Noizetier et Aveline pour organiser le contenu (au sens large) de mes pages. Ça me va assez bien, à part une incongruité :
- j'affiche sur toutes mes pages (page par défaut), en pré-extra, la noisette login ("Se connecter") qui incorpore #FORMULAIRE_LOGIN
- or la page de login inclut systématiquement dans son "Contenu" (au sens restreint de zone principale de texte) le même #FORMULAIRE_LOGIN.

Résultat quand s'affiche la page de login : j'ai 2 #FORMULAIRE_LOGIN, l'un en zone centrale et l'autre en colonne extra. Du coup ma page contient des "id" en doublon et ça provoque quelques anomalies. Comment pourrais-je empêcher que le #FORMULAIRE_LOGIN s'affiche dans le contenu s'il est déjà inclus ailleurs dans la page (nav, extra ou même bandeau haut) ?

Un autre option, quoique moins intéressante pour l'homogénéité du site, serait d'inhiber la noisette dans pré-extra lorsque je suis sur la page login, mais si c'est possible je ne l'ai pas trouvé...

Christian

​Le point soulevé provient du squelette Zpip-vide qui possède une sécurité (voir http://zone.spip.org/trac/spip-zone/browser/squelettes/zpip-vide/trunk/contenu/page-login.html)

En effet, il importe de ne pas se retrouver dans l’impossibilité de pouvoir se connecter à l’espace privé si le formulaire de login n’est pas présent sur la page de login. Dès lors, dans ce squelette, on test si la noisette page-login-formulaire_login n’est pas déjà présente dans le bloc contenu et, si non, cette noisette est systématiquement incluse.

Il faudrait peut-être faire évoluer ce test pour être un peu moins restrictif de la manière suivante :

  • tester si un formulaire login est présent dans n’importe quel bloc (pas forcément le bloc contenu)
  • tester la présence soit de la noisette formulaire_login, soit de la noisette page-login-formulaire_login
    Peux-tu essayer en changeant la première ligne de contenu/page-login.html dans Zpip-vide ainsi:

<BOUCLE_test(NOISETTES ?){type=page}{composition=login}{noisette IN ‹ page-login-formulaire_login ›, ‹ formulaire_login ›}>

Si ça fonctionne, il faudrait alors commiter le correctif dans Zpip-vide

Cordialement

Bonsoir,

Et merci de ton aide.

Le 19/10/2014 10:17, Joseph a écrit :

​Le point soulevé provient du squelette Zpip-vide qui possède une
sécurité (voir
Connexion · GitLab)

Oui, ça j'avais bien compris.

Peux-tu essayer en changeant la première ligne
de contenu/page-login.html dans Zpip-vide ainsi:

<BOUCLE_test(NOISETTES?){type=page}{composition=login}{noisette IN
'page-login-formulaire_login', 'formulaire_login'}>

J'ai testé mais ça ne fonctionne que si j'enlève en plus {type=page}{composition=login}, autrement dit en ne gardant que le critère {noisette IN...}.

Personnellement, je souhaite mettre une autre noisette (perso) à la place de formulaire_login, pour afficher notamment un bouton de déconnexion. Donc je préférerais tester la présence du formulaire login plutôt que de la noisette, ce serait plus polyvalent.

Christian

Si tu souhaites utiliser une noisette perso, cela relève d’une adaptation personnelle du squelette, ce qui se règle via le répertoire squelettes/

Je te conseille alors de surcharger contenu/page-login.html en créant un fichier du même nom dans squelettes/ et en y mettant le code de ton choix (il peut s’agit d’un fichier vide ou bien un test sur ta noisette personnelle).

Cordialement

Ok, je vais faire ça en m'inspirant du code que tu as proposé.
Merci pour le dépannage.

Christian

Le 20/10/2014 09:32, Joseph a écrit :

Si tu souhaites utiliser une noisette perso, cela relève d'une adaptation personnelle du squelette, ce qui se règle via le répertoire squelettes/

Je te conseille alors de surcharger contenu/page-login.html en créant un fichier du même nom dans squelettes/ et en y mettant le code de ton choix (il peut s'agit d'un fichier vide ou bien un test sur ta noisette personnelle).