Exemples de Thèmes - Coppermine Photo Gallery - Documentation & Manuel

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

Table des Matières

Exemples de thèmes

Cette page contient une liste des exemples de modifications fréquemment demandées sur le forum d'aide de Coppermine. Les mots ainsi que les éléments suplémentaires peuvent différer de ceux que l'utilisateur veut ajouter. La plupart des utilisateurs cherchent les informations sur comment ajouter de la publicité (comme Google adsense) à un endroit particulier.

Nous pensons que vous avez lu et compris ce qui concerne les bases des thèmes dans Coppermine: donc, vous devez savoir ceci

Cette page ne va expliquer uniquement quelle section de theme.php doivent être modifiés pour accomplir des fonctions particulières. Vous devrez d'abbord apprendre comment copier ces sections.

Sommaire

Contenu additionnel

Cette section explique comment ajouter du contenu additionnel à différentes places dans les affichages de Coppermines. La plupart des utilisateurs veulent afficher des publicités comme contenu additionnel, comme Google adsense ou Adbrite (comme c'est visible sur Yahoo ou Ebay).

Comme exemple, nous allons ajouter une petite phrase comme "votre contenu personnalisé" ou similaire. Vous pouvez bien entendu le remplacer par tout code HTML/JavaScript que vous souhaitez. Ce document ne va pas expliquer comment ajouter le code spécifique HTML pour ces programmes de publicité, ni expliquer comment ils fonctionnent. Il y a de meilleures places sur le web pour trouver ces informations.

Contenu additionnel sur la page des vignettes

Modifications qui auront un impact sur l'affichage de la page des vignettes.

Nouvelle ligne entre les lignes de vignettes

Cette modification va modifier le séparateur entre les lignes de la table qui compose la page des vignettes: une ligne va être ajoutée, dans laquelle vous pourrez ajouter du contenu textuel ou une banière de puplicité.

Ouvrez themes/votretheme/theme.php en utilisant un éditeur de texte, trouvez $template_thumbnail_view et modifiez comme indiqué ci-dessous. Si $template_thumbnail_view n'existe pas dans votre thème personnalisé, copiez cette setcion depuis le thème sample d'abbord.
Dans la définition de variable pour $template_thumbnail_view, trouvez
<!-- BEGIN row_separator -->
        </tr>
        <tr>
<!-- END row_separator -->
et remplacez par
<!-- BEGIN row_separator -->
        </tr>
        <tr>
            <td colspan="{$CONFIG['thumbcols']}">
                votre contenu personnalisé
            </td>
        </tr>
        <tr>
<!-- END row_separator -->

Nouvelle cellule de table sur chaque page de vignettes

C'est un Mod plus avancé qui requière plus de modifications. Ce qu'il fait est plus subtil: il n'ajoute pas une ligne ou une colonne entière à la page des vignettes, mais remplace un des vignettes sur chaque page de vignettes par un ecellule avec votre contenu personnalisé (votre publicité).

Ouvrez themes/yourtheme/theme.php avec un éditeur de texte et trouvez $template_thumbnail_view puis modifiez comme expliqué ci-dessous. Si $template_thumbnail_view n'existe pas dans votre thème, il vous faudra copier la section d'abbord depuis le thème sample.
Dans la définition de variable pour $template_thumbnail_view, trouvez <!-- END spacer --> et ajoutez juste après (dans une nouvelle ligne)
<!-- BEGIN advert -->
        <td valign="top" class="thumbnails" width ="{CELL_WIDTH}" align="center">
                <table width="100%" cellpadding="0" cellspacing="0">
                        <tr>
                                <td align="center">
									votre contenu personnalisé
                                </td>
                        </tr>
                </table>
        </td>
<!-- END advert -->
Ensuite vous devrez modifier la définition de la fonction pour la fonction nommée theme_display_thumbnails. In themes/yourtheme/theme.php, find function theme_display_thumbnails comme indiqué ci-dessous. Si cette section particulière n'existe pas dans votre thème, copiez la définition de fonction depuis le thème sample. Pour ce faire, copiez tout ce qui se trouve à partir de (et incluant)
/******************************************************************************
** Section <<<theme_display_thumbnails>>> - START
******************************************************************************/
j'usqu'à (inclu)
/******************************************************************************
** Section <<<theme_display_thumbnails>>> - END
******************************************************************************/
dans une nouvelle ligne avant ?> de themes/votretheme/theme.php
Dans cette définition de focntion, trouvez
    static $spacer = '';
et ajoutez dans une nouvelle ligne après
    static $advert = '';

Puis trouvez
        $spacer = template_extract_block($template_thumbnail_view, 'spacer');
et ajoutez dans une nouvelle ligne juste après
        $advert = template_extract_block($template_thumbnail_view, 'advert');

Ensuite trouvez
    $thumbcols = $CONFIG['thumbcols'];
et ajoutez dans une nouvelle ligne juste après
    $thumbrows = $CONFIG['thumbrows'];

Maintenant trouvez
    foreach($thumb_list as $thumb) {
et ajoutez avant dans une nouvelle ligne
    // Start modification "random table cell ad"
    $number_of_thumbs = count($thumb_list);
    $advert_position = rand(0,$number_of_thumbs-1);

Descendez et trouvez
        echo template_eval($thumb_cell, $params);
et remplacez cette ligne par
        // Add the advert cell 
        if (defined('DISPLAY_ADS_FOR_META_ALBUMS') || is_numeric($aid) == TRUE) {
        	$display_advert = 1;
        } else {
        	$display_advert = 0;
        }
        if ($i == $advert_position && $mode == 'thumb' && $display_advert == 1) {
	        if ($number_of_thumbs < $thumbcols * $thumbrows) { // We have room to display
	                                                           // the extra advert cell
	        	//print_r($thumb_list);
	        	$thumb_list[($number_of_thumbs+1)] = $thumb;
	        	echo template_eval($advert, $params);
		    } else { // We do not have room for the extra advert cell, 
		             // so we'll have to replace one (i.e. drop the 
		             // content of the thumb that should usually reside 
		             // here without the ad)
		    	echo template_eval($advert, $params);
		    }
        } else {
        	echo template_eval($thumb_cell, $params);
        }

Vous devez vous assurer de faire ces modifications très attentivement. Il est préférable de sauvegarder votre fichier personnalisé theme.php avant au cas ou quelque chose irait mal, de manière à pouvoir revenir en arrière au cas ou.


Contenu additionnel sur le page des images intermédiaires (displayimage.php)

L'affichage de la page displayimage.php - La page qui montre les images intermédiaires, inclue dans l'aspect général de votre site, est la page qui retiendra le plus l'attention des visiteurs, puisque vous les avez incité à cliquer sur les vignettes sur les pages précédentes pour arriver à la vue des images intermédiaires. Sur cette page, vous pouvez afficher facilement de la publicité et vous aurez certainement un bon "retour sur clic", mais soyez attentif: le site contient déjà pas mal d'informations - l'encombrer avec de plus en plus de contenu peut devenir dangereux, le visiteur peut se sentir submergé et partir.

Directement sous l'image intermédiaire

Ces indtructions s'appliquent pour tout contenu additionnel qui devrait être placé au dessus, en dessous ou juste à côté (à droite ou à gauche) de l'image intermédiaire inclue dans votre page. gardez à l'esprit que la place à droite et à gauche risque d'être très petite, en fonction de la résolution d'écran de vos visiteurs et de la taille de vos images intermédiaires, il est donc préférable d'ajouter votre cntenu additionnel plutôt au dessus ou en dessous.

Ouvrez themes/votretheme/theme.php, trouvez la définition de variable pour $template_display_media et modifiez la comme expliqué ci-dessous. Si cette définition n'existe pas dans votre theme, cpiez la d'abbord depuis le thème sample, puis modifiez là..
La section qui doit être changée est la table qui habille le conteneur {IMAGE}, donc vous devrez modifier <tr> <td align="center" class="display_media" nowrap="nowrap"> <table cellspacing="2" cellpadding="0" > <tr> <td align="center" style="{SLIDESHOW_STYLE}"> {IMAGE} </td> </tr> </table> </td> </tr> Modifiez uniquement le contenu de la table pour que celà corresponde à vos souhaits. Pour ajouter du contenu en dessous, vous aurez à changer ces lignes en
           <tr>
                <td align="center" class="display_media" nowrap="nowrap">
                        <table cellspacing="2" cellpadding="0" >
                                <tr>
                                        <td align="center" style="{SLIDESHOW_STYLE}">
                                                {IMAGE}
                                        </td>
                                        <td align="center" style="{SLIDESHOW_STYLE}">
                                                Votre contenu personnalisé
                                        </td>
                                </tr>
                        </table>
                </td>
            </tr>

Directement avant/après le négatif de film

Ces instructions s'appliquent à tout contenu additionnel qui devra se placer avant ou après le négatif de film sur la page si l'option correspondante "Monter le négatif de film" est activé dans la configuration de Coppermine.

Ouvrez themes/votretheme/theme.php, trouvez la définition de fonction pour theme_display_film_strip et modifiez la comme indiqué ci-dessous. Si cette section n'existe pas dans votre thème, vous devrez la copier d'abbord depuis le thème sample avant de la modifier.
La section qui doit être changée est à la fin là ou le gabarit est finalement généré. trouvez
    echo '<div id="filmstrip">';
    starttable($CONFIG['picture_table_width']);
    echo template_eval($template, $params);
    endtable();
    echo '</div>';
Pour ajouter votre contenu additionnel juste avant le négatif de film, vous devrez changer cette portion de code comme ceci
    echo '<div id="filmstrip">';
    echo <<< EOT
    Votre contenu personnalisé
EOT;
    starttable($CONFIG['picture_table_width']);
    echo template_eval($template, $params);
    endtable();
    echo '</div>';

Contenu additionnel dans la fenêtre pop-up des images originales

La fenêtr epop-up qui s'affiche lorsque vou scliquez sur l'image intermédiaire peut aussi contenir du contenu additionnel (comme de la publicité). Toutefois, vous devrez vérifier si il reste assez de place sur l'écran pour ajouter plus de contenu. En d'autres termes: n'affichez du contenu addtionnel dans la fenêtre pop-up que si vos images originales ont une dimension inférieure à la résolution minimale de l'écran de vos visiteurs. Si vous ne pouvez affirmer de manière sure quelle est cette taille, vous pouvez considérer 800 x 600 pixels comme un minimum. Rappelez vous aussi qu'avec les téléphones portables ou autres appareils mobiles ayant accès à internet, vous ne serez jamais sur qu'il n'y a pas de résolution plus petite.

Si vous devez palcer une publicité dans la fenêtre pop-up des images originales, utilisez de la publicité textuelle plutôt qu'une banière. Cet avertissement dit, voci comment ajouter du contenu additionnel à la fenêtre pop-up des images originales:

Ouvrez themes/yourtheme/theme.php, trouvez
// Display the full size image
function theme_display_fullsize_pic()
et modifiez cette définition de fonction comme indiqué ci-dessous.Si cet élément de code n'existe pas dans votre thème, copiez la définition de fonction depuis le thème sample, à partir de
/******************************************************************************
** Section <<<theme_display_fullsize_pic>>> - START
******************************************************************************/
et jusqu'à
/******************************************************************************
** Section <<<theme_display_fullsize_pic>>> - END
******************************************************************************/
Pour ajouter le code Adsense ou tout autre contenu personnalisé, ajoutez le là ou vous le souhaitez dans la section HTML du codementionné ci-dessus (exemple, juste après la balise de fermeture du conteneur div.
Dans ce cas particulier, vous devrez contourner un autre problème: la taille de la fenêtre est calculée en fonction de la taille de l'image. C'est pourquoi, si vous ajoutez du contenu à la fenêtre, vous aurez à vous assurer que les dimensions de la fenêtre sera augmentée de la taille utilisée par le contenu ajouté. Les dimensions de la fenêtre sont calculées dans la fonction function theme_html_picture(). La même méthode s'applique: cherchez la définition de la fonction dans votre thème (themes/votretheme/theme.php). si elle existe, modifié la comme indiqué ci-dessous, sinon, vous devrez la copier/coller depuis le thème sample dans une nouvelle ligne avant ?> de themes/votretheme/theme.php.
Le code que vous devez modifier est
            $winsizeX = $CURRENT_PIC_DATA['pwidth'] + $CONFIG['fullsize_padding_x'];  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight'] + $CONFIG['fullsize_padding_y']; //the +'s are the mysterious FF and IE paddings
Modifiez comme vous le souhaitez - vous devrez augmenter la valeur des variables de la valeur de l'espace en pixel nécessaire à votre ajout. Par exemple: si vou sdécidez d'ajouter votre code Adsense en haut de la denêtre pop-up et que la publivité utilise 200 pixels, changez
            $winsizeX = $CURRENT_PIC_DATA['pwidth'] + $CONFIG['fullsize_padding_x'];  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight'] + $CONFIG['fullsize_padding_y']; //the +'s are the mysterious FF and IE paddings
en
            $winsizeX = $CURRENT_PIC_DATA['pwidth'] + $CONFIG['fullsize_padding_x'];  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight'] + $CONFIG['fullsize_padding_y'] + 200; //the +'s are the mysterious FF and IE paddings