Plugin ALBUM
Le plugin ALBUM permet de gérer une galerie photo et de l'insérer dans un gabarit de catégorie.
Il utilise les images stockées dans le répertoire standard des images. Il est possible d'ajouter à ces images et répertoires un titre, un commentaire, et de les faire apparaitre ou non.
ALBUM n'écrit rien en base de données : tout est stocké dans un fichier de configuration.
Vous pouvez trouver le package à
cette adresse∞
Utiliser ALBUM dans un gabarit
Attention : pour pouvoir utiliser toutes les fonctions du plugin dans un gabarit de catégorie, il faut faire une modification à un fichier système. Dans le fichier
/manager/frontinc/class.template.php, remplacer la ligne 424 :
Avant :
} elseif (preg_match('#^(.*/)$#i',
$query,
$match)) {
Après :
Ceci va nous permettre de naviguer dans la galerie en envoyant des options en ligne de commande
Attention (2) : le plugin n'est actuellement pas compatible avec le système de cache de Plume : celui-ci ne gère pas les options envoyées en ligne de commande. Il faut donc ne pas mettre en cache la partie du gabarit qui inclut la galerie.
Voici un exemple standard de code à inclure dans un gabarit de catégorie :
include_once($_PX_config['manager_path'].
"/tools/album/album.render.php");
$A=
new album_render
("galeries",
15);
$A->
recursive_path(" >> ",
"Galerie");
echo "<br />";
if ($A->
info("folders_count")>
0) {
echo '<ul>'.
"\n";
$A->
list_folders();
echo '</ul>'.
"\n";
}
if ($A->
info("images_count")>
0) {
echo '<ul id="list-images">'.
"\n";
$A->
list_images();
echo '</ul>'.
"\n";
if ($A->
info("pages_count")>
1) $A->
page_navigation();
}
echo "<br />";
if ($A->
image!=
"") {
$A->
navigation();
$A->
current_image();
}
Classes & fonctions
La classe
album_render est mise à disposition des utilisateurs pour insertion dans un gabarit.
Vous pouvez l'initialiser comme ceci :
$A=new album_render($subdir,$count);
Avec les options suivantes :
- $subdir : sous-répertoire du dossier xmedia à afficher (défaut : "")
- $count : nombre d'images par page (défaut : 0, c'est-à-dire toutes les images du répertoire)
Pour afficher la liste des sous-répertoire :
$A->list_folders($substr, $default_icon)
Avec les options suivantes :
- $substr: chaîne à utiliser (par défaut : <li class="folder-thumb"><a href="%url"><img src="%thumb_url" title="%title" alt="%name" /></a><a href="%url">%title</a> %comment (%images_number images)</li>). Les éléments disponibles sont : "%url", "%comment", "%name", "%thumb_url", "%images_number", "%title"
- $default_icon : icone par défaut pour les répertoires sans icone (facultatif).
Pour afficher la liste des images :
$A->list_images($substr)
Avec les options suivantes :
- $substr: chaîne à utiliser (par défaut : <li><a href="%url"><img src="%thumb_url" alt="%title" title="%mod_comment (%image_size)" /></a></li>). Les éléments disponibles sont : "%url", "%direct_url", "%comment", "%name", "%image_size", "%thumb_url", "%title"
Pour afficher l'image courante :
$A->current_image($substr)
Avec les options suivantes :
- $substr: chaîne à utiliser (par défaut : <img src="%direct_url" title="%title" alt="%title" %a_image_size /><p>%comment</p>). Les éléments disponibles sont : "%url", "%direct_url", "%comment", "%name", "%image_size", "%a_image_size", "%thumb_url", "%title"
Pour naviguer entre les pages :
$A->page_navigation($desc, $previous, $next, $first, $last)
Avec les options suivantes :
- $desc : description de la page en cours (défaut : ' page %number/%count ')
- $previous, $next : texte pour la page précédente et suivante (défaut : << et >>)
- $first, $last : texte pour la première et la dernière page (défaut : rien)
Pour naviguer entre les images :
$A->navigation($desc, $previous, $next, $first, $last)
Avec les options suivantes :
- $desc : description de l'image en cours (défaut : ' %number / %count ')
- $previous, $next : texte pour l'image précédente et suivante (défaut : << et >>)
- $first, $last : texte pour la première et la dernière image (défaut : rien)
Pour afficher le chemin jusqu'au répertoire courant :
$A->recursive_path($separator=, $root_name=)
Avec les options suivantes :
- $separator : séparateur (défaut : >>)
- $root_name : nom du répertoire racine (défaut : "gallery")
Vous pouvez en outre obtenir des infos :
$A->info($info)
où info peut être : "images_count", "folders_count", "pages_count", "page_number", "basic_url", "first_page_url", "last_page_url", "previous_page_url", "next_page_url", "current_image_thumb_direct_url", "current_image_direct_url", "current_image_url", "current_image_number", "first_image_url", "last_image_url", "previous_image_url", "next_image_url"