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.
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.
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.
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)
La methode pour modifer tout fichier theme.php est réellement facile - suivez simplement ces simples étapes:
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..."
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 |