Coppermine Photo Gallery v1.5.x: Documentation et Manuel

Table Matières

Modifier theme.php

Chaque thème contient un fichier theme.php. Toutefois, pour la plupart des thèmes, ce fichier est presque vide. La raison en est qye seules les choses qui diffèrent du comportement par défaut de Coppermine doivent être définis dans theme.php. Les éléments supposés fonctionner "de la manière normale à Coppermine" sont définis dans le code du noyau central de Coppermine - le fichier theme.php de votre thème personnalisé contient les définitions de variables et de fonctions qui forcent les éléments identiques du code général.

Le fichier "theme.php" contient tous les gabarits HTML utilisés par le script. Vous pouvez les modifier à souhait. Lorsque vous faites des modifications de ces gabarits, soyez attentifs à ne pas modifier les lignes commençant par <!-- BEGIN xxx --> et <!-- END xxx -->. Ces lignes sont souvent utilisées pour identifier le début et la fin d'un bloc de code code spécifique que le script utilise pour afficher la galerie.

Types d'éléments

A la basen il peut y avoir trois sortes de types de contenus dans theme.php (du point de vue du programmeur PHP). Pas de panique, vous n'avez pas besoin d'être programmeur pour pouvoir être capable de modifier votre thème.

Le thème sample - un thème pour copier/coller

Votre installation Coppermine inclue aussi un répertoire de thème "sample". Le thème "sample" inclue chacun de ces fichiers mais ne s'affiche pas dans la liste des thèmes sélectionnables dans l'affichage de votre galerie Coppermine. Le fichier theme.php du thème sample contient une copie de chaque fonction et gabarits utilisables, comme référence. Si vous optez d'utiliser le thème "sample" pour commencer à créer votre propre thème, vous devrez suivre les instructions concernant theme.php dans la section "mise à jour d'un thème de la documentation" et commencer par un fichier theme.php vide.

Pour être clair: vous ne devez pas modifier le thème sample (comme il n'est pas affiché), mais copiez les sections que vous souhaitez changer vers votre thème personnalisé. Ne copiez pas l'ensemble du contenu du fichier themes/sample/theme.php dans votre thème personnalisé, il ne fera qu'encombrer votre thème et rendra sa mise à jour très difficile par la suite. A la place, ne copiez que les sections que vous souhaitez modifier depuis themes/sample/theme.php dans themes/yourtheme/theme.php.

Ceci dit: vous ne devez pas commencer votre propre thème en copiant le thème sample - commencez par un fichier theme.php vide. N'utilisez themes/sample/theme.php que pour copier des sections individuelles que vous voulez modifier dans votre thèmes personnalisé et ensuite moidifiez les.

Les débutants ont souvent des problèmes pour comprendre ce qu'est une section ce ce qu'ils doivent copier depuis le thème sample - si vous n'avez pas assez de connaissances en PHP, il est parfois difficiles de comprendre ou commence une définition de focntion et ou elle se termine. C'est pourquoi nous avons "habillé" les sections individuelles qui contiennent plus qu'une ligne par des blocs de commentaires qui essayent d'attirer votre attention: une section commence par le bloc

/******************************************************************************
** Section <<<nom_de_section>>> - START
******************************************************************************/
et se termine par
/******************************************************************************
** Section <<<nom_de_section>>> - END
******************************************************************************/
ou le nom de la section (nom_de_section dans l'exemple ci dessus) est identique dans le bloc de début et dans le bloc de fin.

L'emplacement ou vous insérez la section que vous copiez depuis le thème sample n'a aucune importance, tant que vous faites attention à ne pas les coller dans une autr esection, mais avant ou après une section existante dans votre thème personnalisé. Comme règle, vous pouvez sans risques coller une section dans une nouvelle ligne juste avant ?> dans votre thème personnalisé (themes/votretheme/theme.php)

Méthode

La methode pour modifer tout fichier theme.php est réellement facile - suivez simplement ces simples étapes:

Portée

Bien, qu'est ce qui peut être fait en modifiant theme.php? Seul le ciel est votre limite: seule votre imagination peut être une limite, mais la portée des modifications possibles dans le fichier theme.php est infinie. Néanmoins, les utilisateurs demandent généralement les cinq ou six fonctions ou changent tout le temps. C'est pourquoi nous avons créer une page avec des exemples de thèmes ou les modifications les plus courantes du fichier theme.php sont expliquées - asurez vous de lire attentivement ces exemples avant de commencer à poser une nouvelle question sur le forum d'aide de Coppermine, vous risquerez sinon de vous voir renvoyer vers un "lisez la documentation..."

Nous essayons vraiment d'attirer votre attention sur ce bloc; merci de lire les pages d'exemples de thèmes après avoir lu cette page.

Liste des éléments de theme.php

Elément Type Déscription Dépendances
define('THEME_HAS_PROGRESS_GRAPHICS',1); constante Coppermine affiche une icone "chargement en cours" lorsqe le formulaire de téléchargement est soumis pour signaler qu'il ne doit pas y avoir d'intercation de l'utilisateur pendant que le script est occupé par le téléchargement. Morsque cette constante est définie, le script va chercher l'icone "téléchargement en cours" dans le répertoire images du thème (themes/votretheme/images/loader.gif). Si cette constante n'est pas définie, l'image de chargement par défaut sera utilisée, prise dans le répertoire générique des images. Lors de la création de votre propre thème, assurez vous que l'image de chargement existe lorsque vous définissez la constante. Si défini, un fichier nommé loader.gif doit se trouver dans le répertoire images du thème.
define('THEME_HAS_RATING_GRAPHICS',1); constante L'emplacement des images d'évaluation. Si cette constante est définie, le script sera dirigé vers le répertoire images du thème (themes/votretheme/images/) et y cherchera les images d'évaluation. Si pas définie (defaut), les images d'valuation seront prises dans le répertoire images qui se trouve dans le répertoire racine de Coppermine. Ressources graphiques des thèmes → Images d'évaluation
define('THEME_HAS_MENU_ICONS',16); constante L'emplacement pour les icones des menus qui sont affichées si l'option de configuration "Activer les icones de menu" est activée. Si cette constante est définie, le script sera dirigé vers le répertoire images du thème, sous-répertoire 'icons', (themes/votretheme/images/icons/) et y cherche les icones de menu. Si non définie (défaut), les icones de menu seront prises dans images/icons/. A l'inverse de la plupart des autres constantes de thème, la valeur que vous asignez à cette constante a une importance: définissez la à la taille (en pixels) de vos icones personnalisées. Les icones personnalisées ( comme les icones par défaut) doivent être carrées.
Si vous décidez d'utiliser votre propre jeu d'icones pour les menus de votre thème personnalisé, il est cpnseillé de copier le répertoire images/icons/ dans themes/votretheme/images/ pour avoir un jeu par défaut, puis commencez à les modifier une à une.
define('THEME_HAS_NAVBAR_GRAPHICS',1); constante L'emplacement des barres de navigations graphiques ("ecard", "slideshow", "previous"/"next"). Lorsque cette constante est définie, le script sera dirigé vers le répertoire images de votre thème (themes/votretheme/images/) et y cherchera les images de la barre de navigation. Si non définie (défaut) les images des barres graphiques seront prises dans le répertoire images à la racine de Coppermine. Ressources graphiques des thèmes → Images de barre de Navigation
define('THEME_HAS_FILM_STRIP_GRAPHIC',1); constante L'emplacement pour les images du négatif de film. Lorsque cette constante est définie, le script sera dirigé vers le répertoire images de votre thème (themes/votretheme/images/) et y cherchera les images du négatif de film. Si non définie (défaut) les images du négartif de film seront prises dans le répertoire images à la racine de Coppermine. Si définie, un fichier nommé tile.gif doit se trouver dans le répertoire images du thème. [Détails]
define('THEME_HAS_NO_SYS_MENU_BUTTONS',1); constante Si présent, le système ne cherchera pas à remplacer {BUTTONS} dans le gabarit SYS_MENU
define('THEME_HAS_NO_SUB_MENU_BUTTONS',1); constante Si présent, le système ne cherchera pas à remplacer {BUTTONS} dans le gabarit SUB_MENU
function assemble_template_buttons($template_buttons,$buttons) fonction Créer les boutons d'un gabarit en utilisant un tableau de conteneurs. Si cette fonction est utilisée dans ce fichier, elle doit être déclarée avant d'être appelée.
function addbutton(&$menu,$href_lnk,$href_title,$href_tgt,$block_id,$spacer) fonction Créer un tableau de conteneurs utilisé par la fonction assemble_template_buttons. Si cette focntion est utilisée dans ce fichier, elle doit être définie avant d'être appelée.
function pageheader($section, $meta = '') fonction Fonction d'écriture de l'entête de page. Le premier paramètre $section ne doit pas être touché. Le secont paramètre $meta peut être utilisé pour y ajouter vos métas balises personnalisées. Pour ajouter des méta-balises statiques, modifiez template.html
function pagefooter() fonction Fonction d'écriture du pied de page
function theme_javascript_head() fonction Fonction pour le JavaScript dans la section <head>
function theme_credits() fonction Fonction pour la section credits
function starttable($width = '-1', $title = '', $title_colspan = '1') fonction Fonction pour commencer une table 'standart'
function endtable() fonction Fin d'une table standart fonction starttable()
function theme_main_menu($which) fonction
function theme_admin_mode_menu() fonction
function theme_display_message_block() fonction Fonction pour le bloc theme_display_message_block. Le bloc de messages ( à ne pas confondre avec le menu administrateur) affiche un message sur toutes les pages et un flux RSS depuis la page du projet Coppermine pour l'administrateur. Il est conseillé de ne pas la modifier sans savoir ce que vous faites. Cette fonction génère les sections individuelles du bloc.
function theme_display_cat_list($breadcrumb, &$cat_data, $statistics) fonction Fonction d'affichage de la liste des catégories sur les page d'index. Contient une partie de la logique du noyaux et ne doit être modifiée que très rarement.
function theme_display_breadcrumb($breadcrumb, &$cat_data) fonction Fonction d'affichage de la barre de navigation (généralement pris comme "ligne de menu de base") qui indique dans quel sous-structure se trouve le visiteur (racine de la galerie → catégorie → sous-catégorie → album).
function theme_display_album_list(&$alb_list, $nbAlb, $cat, $page, $total_pages) fonction Fonction qui affiche la liste des albums sur la page d'index. Contient une part de la logique du noyaux qui n'a qu erarement besin d'être modifiée.
function theme_display_album_list_cat(&$alb_list, $nbAlb, $cat, $page, $total_pages) fonction Fonction qui affiche l'album de premier niveau d'une catégorie
function theme_display_thumbnails(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $page, $total_pages, $sort_options, $display_tabs, $mode = 'thumb', $date='') fonction Fonction qui affiche les vignettes aussi bien dans la vue des albums que des catégories ou des méta albums
function theme_display_film_strip(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $pos, $sort_options, $mode = 'thumb', $date='') fonction Affiche le négatif de film Uniquement pris en compte si Affiche le négatif de film est activé dans la configuration.
function theme_no_img_to_display($album_name) fonction Fonction qui génrère l'affichage si un album est vide ou si un élément particulier est innaccesible quelque soit la raison (n'existe pas ou droits manquants)
function theme_display_image($nav_menu, $picture, $votes, $pic_info, $comments, $film_strip) fonction Gabarit général de l'affichage de l'écran des images intermédiaires (displayimage.php).
function theme_html_picinfo(&$info) fonction Gabarit qui génère les lignes individuelles de la tables des informations des images sous les images intermédiaires La section information des images doit être déployée
function theme_html_picture() fonction Affiche une image ou tout autre enregistrement se trouvant dans la base de donnée de Coppermine pour une vue individuelle.
function theme_html_img_nav_menu() fonction
function theme_html_rating_box() fonction
function theme_html_comments($pid) fonction Affichage des commentaires pour une image spécifique
function theme_slideshow() fonction
function theme_display_fullsize_pic() fonction Affichage de l'image de grande taille
function theme_vanity() fonction
function theme_display_bar($actualValue = 0, maxValue = '100', maxBarSizeInPixels = '400', textColor = 'black', textShadowColor = '', textUnit = '', leftBar = 'red', rightBar = '') fonction Affiche une barre graphique
function theme_page_title($section) fonction Créer le sbalises titres pour chaque page. Pour une bonne compatibilité avec les moteurs de recherche, la partie dynamique $section doit venir en premier
$template_sys_menu variable Gabarit pour sys_menu
$template_sub_menu variable Gabarit pour sub_menu
$template_sys_menu_spacer variable Séparateur entre les élements du sys menu (dans beaucoup de thèmes, :: est utilisé)
$template_sys_menu_button variable Modifez celle ci pour ajouter/changer les classes CSS pour les liens du sys-menu.
Le contenu par défaut est
  <!-- BEGIN {BLOCK_ID} -->
        <a href="{HREF_TGT}" title="{HREF_TITLE}">{HREF_LNK}</a>
		{SPACER}
  <!-- END {BLOCK_ID} -->
$template_sub_menu_spacer variable Séparateur entre les éléments du sous menu. Par défaut, c'est le même séparateur qe celui utilisé pour le sys menu.
$template_sub_menu_button variable Modifiez la pour ajouter/Changer les classes CSS pour les liens menu-menu. Par défaut, la définition pour le sys-menu est pris en compte.
$template_gallery_admin_menu variable Gabarit HTML pour le menu administrateur de la galerie
$template_user_admin_menu variable Gabarit HTML pour le menu administrateur de l'utilisateur (le menu aditionnel que l'utilisateur non administrateur verra une fois identifié et ayant le droit d'avoir sa galerie personnelle (les droits pour celà sont définis dans le panneau de gestion des groupes)).
$template_cat_list variable Gabarit HTML pour la liste des catégories
$template_breadcrumb variable Gabarit HTML pour le menu de navigation (le chemin qui indique au visiteur ou il se trouve en terme de structure logique des catégories/albums)
$template_album_list variable Gabarit HTML pour la liste des albums
$template_film_strip variable Gabarit HTML pour l'affichage du négatif de film sur la page des images intermédiaires (displayimage.php)
$template_album_list_cat variable Gabarit HTML pour la liste des albums
$template_album_admin_menu variable Gabarit HTML pour le menu administrateur ALBUM affiché dans la liste des albums (les éléments de menu (boutons) qui sont affichés à coté de chaque vignette d'album si l'utilisateur identifié est le propriétaire de cet album. Généralement le cas pour l'administrateur.
$template_thumb_view_title_row variable Gabarit HTML pour la ligne du titre de la vue des vignettes (titre de l'album + options de tri). C'est l'endroit pour effacer les options de tri si vous ne voulez pas les afficher.
$template_fav_thumb_view_title_row variable Gabarit HTML pour la ligne de titre de la vue des vignettes favorites (titr ede l'album + téléchargement).
$template_thumbnail_view variable Gabarit HTML pour l'affichage des vignettes la fonction theme_display_thumbnails utilise les variables et définition des conteneurs {THUMB}, {CAPTION}, {ADMIN_MENU} and {TABS}
$template_no_img_to_display variable Gabarit HTML pour la vue des vignettes si il n'y a pas d'images à montrer. Si votre galerie nécessite l'enregistrement des visiteurs pour voir les images, vous devrez les encourager à le faire en modifiant le contenu de cette section du thème. Le conteneur {TEXT} est completé et la variable est utilisée dans la fonction theme_no_img_to_display
$template_user_list_info_box variable Gabarit HTML pour la boite d'informations de l'utilisateur dans la liste des utilisateurs
$template_img_navbar variable Gabarit HTML pour les images de la barre de navigation: La navigation en haut des images intermédiaires vous permet d'aller à la page des vignettes, de déployer/cacher la section des information des images, démarer le diaporama, contient le lien vers les E cartes, vou spermets de rapporter un fichier à l'administrateur et affiche le lien vers l'image précédente ou suivante de l'album dans lequel se trouve le visiteur.
$template_display_media variable Gabarit HTML pour l'affichage des images intermédiaires. C'est l'endroit ou les modifications d'aspect des images intermédiaires en relation avec le titre et la description doivent être ajoutés. la fonction theme_html_picture remplis les conteneurs {IMAGE}, {ADMIN_MENU}, {TITLE} et {CAPTION} et utilise cette variable
$template_image_rating variable Gabarit HTML pour la section d'évaluation des images
$template_image_comments variable Gabarit HTML pour l'affichage des commentaires
$template_add_your_comment variable Gabarit HTML pour l'affichage du formulaire pour les commentaires
$template_cpg_die variable Gabarit HTML utilisé par la fonction cpg_die, utilisée pour l'affichage des mesages d'erreurs de toutes sortes au visiteur
$template_msg_box variable Gabarit HTML utilisé par la fonction msg_box qui affiche les messages aux visiteurs en haut de la page ( généralement pour donner le résultat des actions faites par l'utilisateur à l'écranprécédant).
$template_ecard variable Gabarit HTML pour les e-cartes
$template_ecard_plaintext variable Gabarit plein texte pour les E-Cartes (en remplacement des clienst ne pouvant pas afficher de mails formatés en HTML)
$template_report variable Gabarit HTML pour les rapports
$template_report_plaintext variable Gabarit plein texte pour les rapports ( pour les clienst qui ne peuvent pas afficher les mails formatés en HTML)
$template_report_comment variable Gabarit HTML pour afficher les rapports de comentaires
$template_report_comment_email variable Gabarit plein texte pour les rapports ( pour les clienst qui ne peuvent pas afficher les mails formatés en HTML)
$template_tab_display variable Gabarits utilisés pour l'affichage des tabulations
$template_vanity variable Gabarit utilisé pour le pied de page de courtoisie (Vanity)
$template_sidebar variable Gabarit HTML pour la barre latéralle
$template_zipfile_plaintext variable Gabarit plein texte pour le fichier lisez-moi optionnel à ajouter à l'archive lors de l'utilisation du téléchargement compressé des favoris