Projet Socle ENT
Pages enfant
  • 02 - Personnalisations de look

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

...

Le thème se décompose comme suit :

  • Balise Wiki \ [SKIN_NAME\]
    • controls : images des boutons de contrôle dans la XSL (agrandir, supprimer un canal, etc. )
    • institutional : images et logos autres du bandeau institutionnel
    • navigation : images servant a la navigation (onglet, liste de canaux, etc.)
    • skin
        unmigrated-wiki-markup
      • \[SKIN_NAME\].css : styles utilisés par le thème
      • Balise Wiki\[SKIN_NAME\]_thumb.gif : image miniature utilisé lors du choix du thème

Création d'un thème

Le plus simple est de partir du thème de base esup :

...

Bloc de code
SELECT *
FROM UP_SS_THEME

...

on obtient la valeur du SS_ID du mode de présentation "ESUP DLM XHTML Theme", qui est le mode utilisé par défaut dans Esup-Portail ; par la suite la valeur de ce SS_ID sera désignée par \ [ESUP_THEME_SS_ID\].

NB : Vous pouvez noter la valeur de la colonne SS_DESCRIPTION_URI, qui indique l'emplacement de la feuille utilisée pour la transformation en HTML (voir plus bas : feuille XSL)

Pour modifier le thème par défaut :

...

Ici on va utiliser comme thème par défaut (pour les utilisateurs anonymes et authentifiés) le thème que nous avons créé précédemment
Supposons que votre thème se nomme \ [SKIN_NAME\] alors il faut lancer la requête suivante :

Bloc de code
UPDATE UP_SS_THEME_PARM SET PARAM_DEFAULT_VAL = '[SKIN_NAME]'
WHERE UP_SS_THEME_PARM.SS_ID =[ESUP_THEME_SS_ID] AND UP_SS_THEME_PARM.PARAM_NAME = 'skin' AND UP_SS_THEME_PARM.TYPE =1;

...

On modifie ici le thème pour la présentation ESUP, dont le SS_ID a pour valeur \ [ESUP_THEME_SS_ID\].

Pour modifier le thème par défaut des utilisateurs connectés :

Balise WikiPar défaut les nouveaux utilisateurs héritent du thème de l'utilisateur 'demo' :
Le USER_ID de l'utilisateur 'demo' est disponible dans la table UP_USER, ici il aura pour valeur \ [USERDEMO_SS_ID\].

Balise WikiIl suffit donc de spécifier que le thème de l'utilisateur demo pour le mode de présentation ESUP est \ [SKIN_NAME\].

Bloc de code
INSERT INTO `UP_SS_USER_PARM` ( `USER_ID` , `PROFILE_ID` , `SS_ID` , `SS_TYPE` , `PARAM_NAME` , `PARAM_VAL` )
VALUES (
'2', '1', '[ESUP_THEME_SS_ID]', '[USERDEMO_SS_ID]', 'skin', '[SKIN_NAME]'
);

...

<nom-du-skin>.css

feuille de base qui importe les autres. c'est la seulle feuille à être référencée directement par la page HTML

xxx_standard.css

styles des balises standard HTML et des styles uPortal

xxx_preferences.css

styles utilisés par le canal "préférences"

header.css

styles de la partie header (bandeau du haut avec logo et menu)

navigation.css

styles utilisés pour les onglets et menus

channels.css

feuilles destinée à contenir les styles spécifiques aux canaux de votre portail

Vous pouvez bien sûr choisir une autre organisation. Il est conseillé de conserver le principe d'une feuille qui importe les autres.

Styles des canaux et portlets

Pour les canaux autres que les portlets, il est conseillé de placer les styles dans channels.css (voire de découper en plusieurs feuilles selon le nombre)

Pour les portlets, il est conseillé de créer un sous-répertoire par portlet et de le diviser en répertoires pour les styles et pour les images de fond (background) des styles.

Par exemple, pour la portlet ma_portlet :

Pas de format

 ma_portlet
	media
		<images de fond des styles>
	css
		ma_portlet.css <= feuille de style de la portlet

   

Les portlets ne doivent pas appeler leurs feuilles de style. Les feuilles de styles des portlets doivent être appelés par le portail, en les incluant dans la feuille de base du thème.

Lors de la transformation en page HTML, uPortal encadre systématiquement chaque canal affiché par une balise DIV ayant pour classe le nom fonctionnel (fName) du canal.

Exemple : le canal qui a pour nom customImap sera présenté ainsi :

Bloc de code

<div class="portlet clearfix customImap" id="portletContent_u104l1n5242">
....
</div>

Il est donc pratique (et conseillé) de préfixer systématiquement chaque style de canal ou de portlet par son nom fonctionnel. Ceci évite les interactions malheureuses entre styles de canaux différents.

Exemple : le style portlet-section-header ne s'appliquera qu'à la portlet esup-mondossierweb

Bloc de code

.esup-mondossierweb .portlet-section-header
{
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 1.8em;
	font-weight: bold;
}


De plus

La feuille XSL

Si vous voulez modifier la structure de la page (HTML) vous devez modifier la XSL de rendu du portail.

...