Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 26/12/2017 17:09:14

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

[Résolu] Modifier la page de connexion FO

Bonjour,
Je suis en train de modifier la skin de notre Ametys et je m'attaque à la page de connexion.
Actuellement, Ametys ajoute "Se connecter par" devant mon bouton de connexion CAS et j'aurai voulu y mettre mon propre texte ("connexion automatique").
J'ai trouvé le template correspondant, mais il fait référence à une entrée i18n du noyau :

<i18n:text i18n:key="PLUGINS_CORE_AUTHENTICATION_BLOCKING_CONNECTION_LABEL" i18n:catalogue="plugin.core-impl"/>

La bonne méthode est-elle de surcharger ce template en enlevant la référence i18n ?
Si oui, dans quelle XSL le faire ?
(cf. problème ci-dessous)

D'autre part, je voudrais ajouter un titre sous ce même bouton, associé au formulaire de connexion "manuelle".
J'ai trouvé le template qui sert à ça, mais quand je le modifie (j'ajoute simplement un <h1></h1>) et que je colle mon code dans une stylesheet (j'ai essayé avec utils.xsl, skin\templates\login\stylesheets\template.xsl, main.xsl...), j'ai le droit à une erreur 500.

Dans quelle XSL dois-je mettre mon code pour surcharger le template login-form-inputs ?

Merci beaucoup !

Last edited by camuzic (05/03/2018 15:41:55)

Offline

#2 09/01/2018 13:28:22

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,087

Re: [Résolu] Modifier la page de connexion FO

Bonjour

La XSL que vous cherchez est dans skins/XXXX/services/web/pages/frontoffice-login/login.xsl

Attention, cependant, cette XSL effectue des traitements génériques et vous risquez de casser pas mal de chose dans le formulaire de connexion en touchant à cela smile
Je vois que la clef que vous spécifiez est utilisée à 3 endroits différent dans ce fichier, mais dans tous les cas, je vous conseille de faire un test du type
<xsl:if test="additionalLabel = 'CAS'">...</xsl:if>


Raphael Franchet
Expert Ametys

Offline

#3 09/01/2018 16:18:15

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

Re: [Résolu] Modifier la page de connexion FO

Bonjour et merci de votre réponse.

Je ne crois pas que la XSL qui gère l'affichage de notre page de connexion soit celle que vous m'indiquez.
C'était aussi celle dont m'avait parlé Bérénice lors de la formation, mais comme vous pouvez le voir sur ma capture, le markup généré ne vient pas de cette XSL.

IhMykE.jpg

Après quelques recherches, il semble qu'il vienne plutôt du template que j'ai linké précédemment. En effet, sur la capture on voit que le body a la classe "login" alors que la XSL que vous m'indiquez lui attribue la classe "front-login-bg" et l'id "default".

<xsl:template match="/">
        <html>
            <head>
                <title><i18n:text i18n:key="PLUGINS_WEB_FO_LOGIN_TITLE" i18n:catalogue="plugin.web"/></title>
            </head>
            <body id="default" class='front-login-bg'>
                <xsl:call-template name="body"/>
            </body>
        </html>
    </xsl:template>

Peut être notre charte graphique ne fait-elle pas appel à la bonne XSL ? Je ne sais pas...

Offline

#4 09/01/2018 16:19:50

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

Re: [Résolu] Modifier la page de connexion FO

Pour info le contenu complet de la XSL que vous m'avez indiqué dans notre charte graphique :

<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2011 Anyware Services

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
                xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent"
                extension-element-prefixes="resolver">

    <xsl:import href="plugin:web://pages/frontoffice-login/login.xsl"/>
    
  <xsl:template match="/">
        <html>
            <head>
                <title><i18n:text i18n:key="PLUGINS_WEB_FO_LOGIN_TITLE" i18n:catalogue="plugin.web"/></title>
            </head>
            <body id="default" class='front-login-bg'>
                <xsl:call-template name="body"/>
            </body>
        </html>
    </xsl:template>
  
    <xsl:template name="show-hint" />
    
    <xsl:template name="body-title" />
    
    <xsl:template name="body-existingaccount-title" />
    
</xsl:stylesheet>

Je n'y vois aucune référence à la clé citée.

Last edited by camuzic (09/01/2018 16:20:14)

Offline

#5 09/01/2018 16:41:55

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,087

Re: [Résolu] Modifier la page de connexion FO

Dans votre XSL, tout se passe dans cette instruction
<xsl:import href="plugin:web://pages/frontoffice-login/login.xsl"/>

Cette XSL en question, commence par importer
<xsl:import href="plugin:core-ui://pages/login/login_form.xsl"/>

qui est celle dont vous parlez plus haut.

Donc, c'est bien la bonne : par contre, ce n'est pas elle qui s'occupe de générer la balise <html> ou la balise <body>.
Il en est de même dans les templates.

Donc vous ne pouvez pas mettre
class='front-login-bg'
sur la balise <body>
mais par contre tout ce qui est à l'intérieur de cette balise est recopié tel quel, donc

            <body id="default">
                <div class="front-login-bg">
                    <xsl:call-template name="body"/>
                </div>
            </body>

Raphael Franchet
Expert Ametys

Offline

#6 09/01/2018 17:51:09

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

Re: [Résolu] Modifier la page de connexion FO

Merci de cet éclaircissement ! Je comprends mieux smile
Je vais tenter quelques surcharges simples et voir le résultat en suivant votre conseil sur le

Offline

#7 11/01/2018 16:14:30

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

Re: [Résolu] Modifier la page de connexion FO

J'ai finalement pu faire ce que je voulais : si un intitulé est saisi dans la population, je prends l'ensemble de cet intitulé, sans appliquer de translate, donc sans texte avant. L'utilisateur peut saisir ce qu'il veut.
Si rien n'est saisi, j'applique le translate qui ajoute (en français) "Se connecter par " + le label du mode de connexion (en l'occurrence, j'obtiens "C.A.S.".
Personnellement, ça me semble plus logique que si la personne prend le temps de renseigner ce qu'il veut d'écrit, on lui laisse la main sur l'intitulé totalement... A vous de voir si vous jugez que c'est intéressant comme update  big_smile

    <!-- SURCHARGE pour n'afficher le label "Se connecter par" que si un label n'est pas spécifié dans la population-->
    <xsl:template name="login-credential-provider-popup">
        <div class="login-inner login-credential-provider">
            <button>
                <xsl:attribute name="onclick"><xsl:call-template name="login-credential-provider-script"><xsl:with-param name="index" select="@index"/></xsl:call-template> return false;</xsl:attribute>
                <xsl:choose>
                    <xsl:when test="additionalLabel"><xsl:value-of select="additionalLabel"/></xsl:when>
                    <xsl:otherwise>
                        <i18n:translate>
                            <i18n:text i18n:key="PLUGINS_CORE_AUTHENTICATION_BLOCKING_CONNECTION_LABEL" i18n:catalogue="plugin.core-impl"/>
                            <i18n:param>
                                <xsl:value-of select="label"/>
                            </i18n:param>
                        </i18n:translate>
                        <span class="glyph {iconGlyph}"></span>
                    </xsl:otherwise>
                </xsl:choose>
            </button>
        </div>
    </xsl:template>

Merci infiniment à Raphaël pour ses conseils et orientations. cool

Last edited by camuzic (11/01/2018 16:15:36)

Offline

#8 24/01/2018 10:34:55

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,087

Re: [Résolu] Modifier la page de connexion FO

Bonjour et merci pour ce retour.
Pour l'instant, le champs que l'on demande dans l'administration est de nommer l'authentification et c'est un libellé que l'on voit notamment dans les écrans d'administration.
Dans l'idéal, il faudrait ajouter un deuxième champ "Libellé du bouton de connexion"... pour l'instant on ne l'avait pas fait pour éviter de demander trop de choses... mais on va finir par y arriver car c'est un problème récurrent surtout pour CAS.


Raphael Franchet
Expert Ametys

Offline

#9 24/01/2018 10:59:07

camuzic
Guest
From: St Maur des Fossés
Registered: 08/06/2017
Posts: 21

Re: [Résolu] Modifier la page de connexion FO

Bonjour,
Oui, je comprends le libellé admin.
J'espère que vous le ferez !

Offline

Board footer

Powered by FluxBB