Intégration de skin : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Nouvelle page : = Protocole d'intégration d'un skin (ovidentia version 7+) = Cet article guide l'utilisateur dans l'intégration d'un skin en module. Pour commencer l'intégration il faut partir d...)
 
Ligne 21 : Ligne 21 :
 
| |___init.php
 
| |___init.php
 
| |___addonini.php
 
| |___addonini.php
 +
| |___base.php
 
|
 
|
 
|_ skin
 
|_ skin
Ligne 65 : Ligne 66 :
 
====Addonini.php====
 
====Addonini.php====
 
Ce fichier permet à Ovidentia de configurer, de s'assurer de la compatibilité du module et de  gérer les dépendances avec des librairies (Jquery notamment) . Avec le modèle créé par le module de conversion skin/module, le fichier Addonini.php ressemblera à ça. Si vous n'avez pas le module, éditez le fichier et copiez la suite.
 
Ce fichier permet à Ovidentia de configurer, de s'assurer de la compatibilité du module et de  gérer les dépendances avec des librairies (Jquery notamment) . Avec le modèle créé par le module de conversion skin/module, le fichier Addonini.php ressemblera à ça. Si vous n'avez pas le module, éditez le fichier et copiez la suite.
<pre>
+
<source lang="php">
 
; <?php/*
 
; <?php/*
  
Ligne 73 : Ligne 74 :
 
description ="Skin Ovidentia"
 
description ="Skin Ovidentia"
 
description.fr ="Skin Ovidentia"
 
description.fr ="Skin Ovidentia"
icon ="ico_3_underground.png"
+
icon ="ico_<numéro du skin>_<nom du skin>.png"
image ="mini_3_underground.png"
+
image ="mini_<numéro du skin>_<nom du skin>.png"
 
delete ="1"
 
delete ="1"
 
addon_access_control ="0"
 
addon_access_control ="0"
Ligne 86 : Ligne 87 :
 
jquery="Available"
 
jquery="Available"
  
;*/ ?></pre>
+
;*/ ?></source>
 
=====description des variables d'addonini.php utilisées dans les skins=====
 
=====description des variables d'addonini.php utilisées dans les skins=====
  
Ligne 114 : Ligne 115 :
  
 
* php_version ="5.1.0" version minimum de php nécessaire pour le fonctionnement du skin
 
* php_version ="5.1.0" version minimum de php nécessaire pour le fonctionnement du skin
 +
 +
* jquery="Available" n'ajoutez cette ligne que si votre skin utilise la librairie jquery
 +
 +
====init.php====
 +
Le fichier init.php contient les fonctions php permettant d'installer, de mettre à jour et de supprimer le module, si l'archive du skin a été créée avec le module de conversion skin/module, ne l'éditez pas, sinon copiez et modifiez le code suivant.
 +
require_once 'base.php';
 +
 +
<source lang="php">
 +
<?php
 +
 +
function theme_<numéro du skin>_<nom du skin>_upgrade($version_base,$version_ini) {
 +
global $babBody, $babInstallPath;
 +
include_once $babInstallPath."utilit/eventincl.php";
 +
bab_addEventListener( 'bab_eventPageRefreshed',
 +
'theme_<numéro du skin>_<nom du skin>_onPageRefreshed',
 +
'addons/theme_<numéro du skin>_<nom du skin>/init.php',
 +
'theme_<numéro du skin>_<nom du skin>');
 +
 +
return true;
 +
}
 +
 +
 +
 +
function theme_<numéro du skin>_<nom du skin>_onDeleteAddon() {
 +
global $babInstallPath;
 +
include_once $babInstallPath."utilit/eventincl.php";
 +
bab_removeEventListener('bab_eventPageRefreshed',
 +
'theme_<numéro du skin>_<nom du skin>_onPageRefreshed',
 +
'addons/theme_<numéro du skin>_<nom du skin>/init.php');
 +
 +
return true;
 +
}
 +
 +
 +
 +
function theme_<numéro du skin>_<nom du skin>_onPageRefreshed() {
 +
global $babSkin;
 +
if ('theme_<numéro du skin>_<nom du skin>' === $babSkin) {
 +
$jquery = bab_functionality::get('jquery');
 +
if ($jquery !== false) {
 +
$jquery->includeCore();
 +
}
 +
}
 +
}
 +
?>
 +
</source>
 +
 +
====base.php====
 +
Si le fichier n'est pas créé automatiquement par le module, le créer et l'éditer. Copiez le code suivant :
 +
<source lang="php"><?php exit; ?></source>
 +
 +
===skins===
 +
 +
Skins contient le répertoire images qui contient la miniature et l'icone du skin utilisées dans la page d'administration et spécifiées dans le fichier addonini.php.
 +
 +
Leur nom doit être "mini_<numéro du skin>_<nom du skin>" et "ico_<numéro du skin>_<nom du skin>".
 +
 +
Les images peuvent être de type .jpg, .png ou .gif. la miniature doit être au format 200x150 et l'icône au format 48x48.

Version du 2 juin 2009 à 11:02

Protocole d'intégration d'un skin (ovidentia version 7+)

Cet article guide l'utilisateur dans l'intégration d'un skin en module. Pour commencer l'intégration il faut partir d'un modèle, soit sous forme de fichiers html et css, soit sous forme de charte graphique en images. (On peut trouver des modèles gratuits sur des sites de WebDesign open source)

En premier lieu, il faut créer une archive de skin grâce au module conversion skin/module, télécharger l'archive créée via l'interface d'administration, y créer le répertoire theme comme indiqué ci dessous. Si le module n'est pas installé, on peut créer l'archive manuellement:

structure d'une archive de module de skin:

racine de l'archive
	|
	|_ theme
	|	|___images
	|	|___ovml
	|	|___scripts : contient les scripts d'animation de la page (menus déroulants, cachés ...)
	|	|___styles : contient les fichiers css sélectionnables
	|	|___templates : contient les fichiers de templates (structure de la page)
	|
	|_ programs
	|	|___init.php
	|	|___addonini.php
	|	|___base.php
	|
	|_ skin
		|___images : contient l'image et la miniature utilisées dans le menu d'administration

Theme

Ce dossier est l'équivalent du répertoire racine d'un skin « classique », il contient toute la partie skin du module.

images

Tous les fichiers d'images utilisées dans le skin doivent être contenus dans ce dossier. Le chemin d'accès à appeler sera '../images/nom de l'image' pour les fichiers CSS et 'skins/{ babSkin }/images/nom de l'image' pour les fichiers html.

ovml

Ce dossier contient tous les scripts permettant d'accéder au contenu d'ovidentia comme les menus ou les sections d'actualités.

scripts

Scripts contient les fichiers javascript. Ces scripts peuvent apporter du dynamisme à la page (menus déroulants, sections cachées etc …)

styles

Le dossier styles contient les fichiers CSS sélectionnables par l'utilisateur dans la section d'administration. Les fichiers CSS contenant des modifications mineures sont à placer à la racine de l'archive du skin.

templates

Les fichiers templates sont les patrons structurant la page ou une partie de la page. Les templates modifiables sont :

  • adminsection.html section administrateur
  • articlestemplate.html modèle d'articles pour les thèmes d'articles
  • config.html balises méta
  • forumssection.html section qui liste les forums
  • mailtemplate.html mails de notification
  • montha.html section calendrier
  • page.html page principale lançant les sections et le corps d'OVIDENTIA
  • sectiontemplate.html sections, patrons d'affichages des sections
  • topcatsection.html section de catégories de thèmes
  • topicsdisplay.html liste des articles (introduction + lien "lire la suite"), corps des articles, patrons d'affichage des thèmes d'articles
  • topicssection.html section de catégories de thèmes si thèmes existants, patrons d'affichages de section pour les catégories
  • usersection.html section utilisateur
  • warning.html n'est plus utilisé dans OVIDENTIA (gérait les 2 variables Titre et Message d'erreur)
  • topcatdisplay.html liste des thèmes dans une catégorie, patrons d'affichage pour les catégories
  • entry.html affichage des articles en page d'accueil lorsque les fichiers private.html ou public.html sont absents du skin

programs

Ce dossier contient les fichiers de configuration du module.

Addonini.php

Ce fichier permet à Ovidentia de configurer, de s'assurer de la compatibilité du module et de gérer les dépendances avec des librairies (Jquery notamment) . Avec le modèle créé par le module de conversion skin/module, le fichier Addonini.php ressemblera à ça. Si vous n'avez pas le module, éditez le fichier et copiez la suite. <source lang="php">

<?php/*

[general] name ="theme_78965413" version ="1.0" description ="Skin Ovidentia" description.fr ="Skin Ovidentia" icon ="ico_<numéro du skin>_<nom du skin>.png" image ="mini_<numéro du skin>_<nom du skin>.png" delete ="1" addon_access_control ="0" ov_version ="7.0" author ="Cantico" encoding ="UTF-8" mysql_character_set_database="latin1,utf8" php_version ="5.1.0"

[functionalities] jquery="Available"

;*/ ?></source>

description des variables d'addonini.php utilisées dans les skins
  • name="addonname" Nom du module
  • version="1.0" Version du module
  • description="" Description qui s'affiche dans la liste des modules sur la page réservée à l'administrateur
  • description.fr="" La description peut être internationalisée en ajoutant la langue en suffixe : description.en, description.fr ...
  • icon="icon.png" icône représentant le module en 48x48px jpg, png ou gif, le chemin de l'image est relatif au répertoire "images" du module
  • image="mini.png" image représentant le module en 200x150px jpg, png ou gif, le chemin de l'image est relatif au répertoire "images" du module
  • delete="1" 1|0 autoriser la suppression du module (défaut 0)
  • addon_access_control="1" 1|0 activer ou désactiver le contrôle d'accès par l'administrateur sur le module (défaut 1)
  • ov_version="7.0" Version minimale d'ovidentia pour que le module fonctionne
  • author ="Cantico" Nom de l'auteur du skin (à remplacer)
  • encoding="UTF-8" code de caractères du fichier addonini.php
  • mysql_character_set_database="latin1" Vérifier le code de caractère par défaut de mysql au niveau de la base, depuis ovidentia 7.0.0 plusieurs codes de caractères peuvent êtres supportés, on peut les séparer par des virgules
  • php_version ="5.1.0" version minimum de php nécessaire pour le fonctionnement du skin
  • jquery="Available" n'ajoutez cette ligne que si votre skin utilise la librairie jquery

init.php

Le fichier init.php contient les fonctions php permettant d'installer, de mettre à jour et de supprimer le module, si l'archive du skin a été créée avec le module de conversion skin/module, ne l'éditez pas, sinon copiez et modifiez le code suivant. require_once 'base.php';

<source lang="php"> <?php

function theme_<numéro du skin>_<nom du skin>_upgrade($version_base,$version_ini) { global $babBody, $babInstallPath; include_once $babInstallPath."utilit/eventincl.php"; bab_addEventListener( 'bab_eventPageRefreshed', 'theme_<numéro du skin>_<nom du skin>_onPageRefreshed', 'addons/theme_<numéro du skin>_<nom du skin>/init.php', 'theme_<numéro du skin>_<nom du skin>');

return true; }


function theme_<numéro du skin>_<nom du skin>_onDeleteAddon() { global $babInstallPath; include_once $babInstallPath."utilit/eventincl.php";

	bab_removeEventListener('bab_eventPageRefreshed',

'theme_<numéro du skin>_<nom du skin>_onPageRefreshed', 'addons/theme_<numéro du skin>_<nom du skin>/init.php');

	return true;

}


function theme_<numéro du skin>_<nom du skin>_onPageRefreshed() { global $babSkin; if ('theme_<numéro du skin>_<nom du skin>' === $babSkin) { $jquery = bab_functionality::get('jquery'); if ($jquery !== false) { $jquery->includeCore(); } } } ?> </source>

base.php

Si le fichier n'est pas créé automatiquement par le module, le créer et l'éditer. Copiez le code suivant : <source lang="php"><?php exit; ?></source>

skins

Skins contient le répertoire images qui contient la miniature et l'icone du skin utilisées dans la page d'administration et spécifiées dans le fichier addonini.php.

Leur nom doit être "mini_<numéro du skin>_<nom du skin>" et "ico_<numéro du skin>_<nom du skin>".

Les images peuvent être de type .jpg, .png ou .gif. la miniature doit être au format 200x150 et l'icône au format 48x48.