plateforme coopérative de partage d'information 1.9 Version de PLOOPI
PLOOPI est une plateforme web de travail collaboratif (GNU GPLv2) permettant à ses utilisateurs d'échanger et de diffuser des données. Il s'agit d'un logiciel sécurisé, robuste et optimisé dont le code source a été de nombreuses fois audité. PLOOPI se présente également sous la forme d'un framework de développement permettant de faciliter la mise en oeuvre de modules métiers basés sur des fonctionnalités avancées de travail collaboratif.

Documentation

Création d’un template BackOffice

Avant de commencer…

Tout d’abord, si vous ne savez pas ce qu’est un template, lisez la page Introduction aux templates
Un template ‘Backoffice’ permet de modifier la mise en page du portail PLOOPI.

Vous pouvez par exemple modifier :

  • l‘écran de connexion
  • l’emplacement des espaces de travail
  • l’emplacement et le comportement des blocs des modules
  • les couleurs, les styles, les formes !

Par contre, vous ne pouvez pas modifier la mise en page des modules.

Pour les utilisateurs avancés et curieux, il est possible de définir une nouvelle classe “skin” associée au template et qui permet de modifier le look de certains éléments utilisés par les modules : onglets, barres d’outils, boites, etc…

Contenu d’un template

Les templates backoffice sont installés dans le dossier ./templates/backoffice

Chaque template est stocké dans un sous-dossier séparé.

Compte tenu du nombre important de fichiers indispensables au bon fonctionnement d’un template, nous vous recommandons de démarrer un template en copiant un template existant (ploopi par exemple). En effet un template ‘Backoffice’ est constitué d’un ensemble assez fourni de fichiers indispensables à son fonctionnement.

Cependant, si votre objectif de créer un nouveau template réside essentiellement dans la volonté de modifier le gabarit des pages, seuls quelques fichiers sont impactés :

1
2
3
4
5
./css/main.css
./css/main_ie.css
./index.tpl
./light.tpl
./mail.tpl

Il faut également modifier le constructeur de la classe skin associée au template pour lui indiquer le nom du nouveau template :

1
2
3
4
function skin()
{
parent::skin_common('mon_template');
}

index.tpl

Ce fichier gère la mise en page principale du portail et l‘écran de connexion.

Ce fichier est obligatoire.

light.tpl

Ce fichier est une version allégée du gabarit principal (index.tpl). Il est notamment utilisé lors de l’ouverture de popups. Il se concentre sur l’affichage du contenu d’un module en occultant tout le reste du gabarit (blocs, menus, etc…)

Ce fichier est obligatoire.

mail.tpl

Ce fichier gère le gabarit du mail envoyé par le gestionnaire de tickets

Ce fichier est obligatoire.

main.css & main_ie.css

Ces fichiers contiennent les feuilles de styles utilisées au niveau des gabarits principaux ‘index.tpl’ et ‘light.tpl’.

Ces fichiers sont optionnels. A noter qu’ils sont appelés par les fichiers ./css/styles.css et ./css/styles_ie.css

Vous pouvez organiser les feuilles de style différement du moment qu’elles sont incluses dans les gabarits.

Modification du gabarit principal (index.tpl)

Le gabarit principal ( index.tpl ) et l‘élément central du template. C’est lui qui gère le positionnement des différents éléments dans la page (partie visible) et c’est également lui qui gère les inclusions dynamiques (javascript, styles) nécessaires aux modules ou les metas.

Exemple de gabarit minimal

Suivez ce lien pour consulter un exemple de gabarit minimal

Variables templates

Blocs conditionnels :

  • switch_user_logged_out actif si l’utilisateur est déconnecté. Utile pour gérer la zone d’identification/login.
  • switch_user_logged_in actif si l’utilisateur est connecté. Utile pour afficher toute la partie ou l’utilisateur est identifié.
  • switch_blockmenu fils de switch_user_logged_in actif si le menu des modules (blocs) doit être affiché.
  • switch_content fils de block actif si le menu du module doit afficher un ‘content’ (contenu) autre que les menus classiques.
Balise Contenu
{switch_user_logged_in.switch_blockmenu.block.switch_content.CONTENT} Contenu additionnel du bloc de module

Blocs :

  • module_css : Liste des feuilles de styles utilisées par les modules de l’espace de travail sélectionné.
Balise Contenu
{module_css.PATH} Le chemin complet vers le fichier css
  • module_css_ie : Liste complémentaire des feuilles de styles spécifiques IE utilisées par les modules de l’espace de travail sélectionné.
Balise Contenu
{module_css_ie.PATH} Le chemin complet vers le fichier css
  • module_js : Liste des fichiers javascript utilisés par les modules de l’espace de travail sélectionné.
Balise Contenu
{module_js.PATH} Le chemin complet vers le fichier js
  • workspace fils de switch_user_logged_in : Liste des espaces de travail de l’utilisateur connecté.
Balise Contenu
{switch_user_logged_in.workspace.TITLE} Intitulé de l’espace
{switch_user_logged_in.workspace.URL} URL de l’espace
{switch_user_logged_in.workspace.SELECTED} Contient ‘selected’ si l’espace est sélectionné
  • block fils de switch_blockmenu
Balise Contenu
{switch_user_logged_in.switch_blockmenu.block.ID} ID du module
{switch_user_logged_in.switch_blockmenu.block.TITLE} Intitulé du module
{switch_user_logged_in.switch_blockmenu.block.URL} URL vers le module
{switch_user_logged_in.switch_blockmenu.block.DESCRIPTION} Description du module (non géré)
{switch_user_logged_in.switch_blockmenu.block.SELECTED} Contient ‘selected’ si le module est sélectionné
  • menu fils de block
Balise Contenu
{switch_user_logged_in.switch_blockmenu.block.menu.LABEL} Intitulé du menu
{switch_user_logged_in.switch_blockmenu.block.menu.URL} URL du menu
{switch_user_logged_in.switch_blockmenu.block.menu.SELECTED} Contient ‘selected’ si le menu est sélectionné
{switch_user_logged_in.switch_blockmenu.block.menu.TARGET} Cible du menu

Variables simples:

Balise Contenu Source
Espace de travail
{WORKSPACE_META_DESCRIPTION} description propre à l’espace de travail Administration Générale > Espaces de Travail > Espace > META Informations
{WORKSPACE_META_KEYWORDS} mots clés propres à l’espace de travail Administration Générale > Espaces de Travail > Espace > META Informations
{WORKSPACE_META_AUTHOR} auteur propre à l’espace de travail Administration Générale > Espaces de Travail > Espace > META Informations
{WORKSPACE_META_COPYRIGHT} copyright propre à l’espace de travail Administration Générale > Espaces de Travail > Espace > META Informations
{WORKSPACE_META_ROBOTS} informations pour les robots propres à l’espace de travail Administration Générale > Espaces de Travail > Espace > META Informations
{WORKSPACE_TITLE} titre de l’espace de travail Administration Générale > Espaces de Travail > Espace > Modifier l’Espace > Nom
Utilisateur connecté
{USER_LOGIN} Login de l’utilisateur connecté Profil utilisateur
{USER_FIRSTNAME} Prénom de l’utilisateur connecté Profil utilisateur
{USER_LASTNAME} Nom de l’utilisateur connecté Profil utilisateur
{USER_EMAIL} Email de l’utilisateur connecté Profil utilisateur
Liens/Menus principaux
{MAINMENU_SHOWPROFILE_URL} Lien vers ‘Mon Profil’ Généré par Ploopi
{MAINMENU_SHOWANNOTATIONS_URL} Lien vers ‘Mes Annotations’ Généré par Ploopi
{MAINMENU_SHOWTICKETS_URL} Lien vers ‘Mes Tickets’ Généré par Ploopi
{MAINMENU_SHOWSEARCH_URL} Lien vers ‘Recherche’ Généré par Ploopi
{USER_DECONNECT} Lien ‘Deconnexion’
{MAINMENU_SHOWPROFILE_SEL} Contient ‘selected’ si ‘Mon Profil’ sélectionné Généré par Ploopi
{MAINMENU_SHOWANNOTATIONS_SEL} Contient ‘selected’ si ‘Mes Annotations’ sélectionné Généré par Ploopi
{MAINMENU_SHOWTICKETS_SEL} Contient ‘selected’ si ‘Mes Tickets’ sélectionné Généré par Ploopi
{MAINMENU_SHOWSEARCH_SEL} Contient ‘selected’ si ‘Recherche’ sélectionné Généré par Ploopi
Divers
{TEMPLATE_PATH} Chemin racine du template Généré par Ploopi
{TEMPLATE_NAME} Nom du template Généré par Ploopi
{ADDITIONAL_HEAD} Contenu additionnel pour l’entête fourni par Ploopi Généré par Ploopi
{ADDITIONAL_JAVASCRIPT} Contenu javascript fourni par Ploopi Généré par Ploopi
{PAGE_CONTENT} Contenu principal de la page fourni par Ploopi (contenu des modules) Généré par Ploopi
{SITE_CONNECTEDUSERS} Nombre de connectés Généré par Ploopi
{PLOOPI_VERSION} Version de Ploopi Généré par Ploopi (constante _PLOOPI_VERSION du fichier ./include/global_constants.php)
{PLOOPI_ERROR} Message d’erreur de Ploopi (connexion d’un utilisateur) – voir switch_ploopierrormsg Généré par Ploopi
{NEWTICKETS} Nombre de nouveaux tickets Généré par Ploopi
{SHOW_BLOCKMENU} Contient ‘block’ si le menu des modules doit être affiché Généré par Ploopi
Balises Spéciales (non traitées par le moteur de templates)
<PLOOPI_PAGE_SIZE> Taille de la page en Kio Généré par Ploopi
<PLOOPI_EXEC_TIME> Temps d’exécution en ms Généré par Ploopi
<PLOOPI_PHP_P100> Pourcentage du temps d’exécution pris en charge par PHP Généré par Ploopi
<PLOOPI_SQL_P100> Pourcentage du temps d’exécution pris en charge par SQL Généré par Ploopi
<PLOOPI_NUMQUERIES> Nombre de requêtes exécutée dans la page Généré par Ploopi
<PLOOPI_SESSION_SIZE> Taille de la session en Kio Généré par Ploopi





Retour en haut de la page