[MOD/HACK] Commentaires LONGS sous les vignettes [MOD/HACK] Commentaires LONGS sous les vignettes
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

[MOD/HACK] Commentaires LONGS sous les vignettes

Started by pbasmo, June 15, 2007, 02:17:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pbasmo

Bonjour à tous,

Le sujet du jour concerne les commentaires affichés sous les vignettes.
J'aime bien faire qques commentaires pour présenter les photos. Certains commentaires sont plus ou moins longs.
Mais lors de l'affichage des vignettes, les commentaires trop longs allongent démesurément les cellules du tableau et l'aspect visuel n'est plus très homogène (à mon goût bien sûr !).
Mon idée a été de limiter les commentaires à 15 mots en y ajoutant des "..." pour suggérer qu'il y a une suite. Pour lire l'intégralité du commentaire il faut afficher l'image en cliquant sur la vignette.
Mais voila, Pyap et Frantz, vous ne serez certainement pas très ravis de savoir que la modification est apportée au script functions.inc.php  ;D
Mais disons que ceci est simplement une suggestion ....

Dans le script functions.inc.php, chercher la fonction build_caption.
Chercher les lignes suivantes :

if ($CONFIG['caption_in_thumbview']){
     $caption .= $row['caption'] ? "<span class=\"thumb_caption\">".strip_tags(bb_decode($row['caption']))."</span>" : '';


et ajouter entre ces 2 lignes ce code :

//MODIF du 15 juin 2007
//Limitation du commentaire sous les vignettes à 15 mots
if ($row['caption'] != "") {
    $maxmots = 15;
    $mots = explode(" ",$row['caption'],$maxmots + 1);
    $nbmots = count($mots);
    $mots[$maxmots] = "";
    if ($nbmots-1 == $maxmots) {
        $row['caption'] = implode(" ",$mots)."...";
    }
}

Si le commentaire fait plus de 15 mots, il sera donc limité à ce maximum et suivi de "..."
Si le commentaire est inférieur ou égal à 15 mots, il sera affiché intégralement mais sans les "..."
Si absence de commentaire .....no comment !

Sauvegarder et tester.
La présentation des vignettes redevient alors plus agréable.

Bonne journée à tous


[edit by PYAP]Titre modifié[/edit]

François Keller

QuoteMais voila, Pyap et Frantz, vous ne serez certainement pas très ravis de savoir que la modification est apportée au script functions.inc.php  Grima&ccedil;ant
Pour moi pas de problèmes  :D :D c'est plutôt du côte du fichier theme.inc.php qu'il ne faut pas toucher....

Merci pour ce mod qui sera certainement utile à d'autres

P.S. J'ai effacé le double post  ;)
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

Pascal YAP

Pbasmo, Pierre,

Bzzz ! C'est très ingénieux !
C'est surtout extrêmement pratique concernant le respect de la mise en page.

Je n'ai qu'un mot à dire : "K+1;D

Notons que la limite de 15 caractères semble étriquée, mais ce n'est qu'un détail que l'on peut aisément modifier.
Et aussi facile de remplacer "[...]" par "[lire la suite]".
Le MOD a-t-il été présenté en anglais ?

PYAP

sanlogik

je suis curieux de voir le résultat mais mon confrère Marseillais n'a pas de lien vers sa galerie :(
quelqu'un a-t'il appliqué ce mod pour nous faire voir ?

Pascal YAP

Bonjour Sanlogik,

Quotemon confrère Marseillais n'a pas de lien vers sa galerie
Trouvez son adresse via la carte Frappr! visible dans ma galerie.

Je n'ai pas encore publié ce MOD sur ma Galerie, mais je vois déjà le résultat sur certains de mes commentaires.

PYAP

pbasmo

#5
Bonsoir à tous,

Sanlogik, ma galerie se trouve à http://pierre.basmoreau.free.fr et on pourra y trouver justement les effets de cette modif.
En vérité Pyap, la limite que j'ai fixée est de 15 mots , et non pas 15 caractères. Je pense que 15 mots sont suffisants pour donner une idée du commentaire et inciter à lire la suite.
Quant au message [lire la suite] à la place des [...] est une bonne idée. Je ferais cela demain après une bonne nuit de sommeil :)
Enfin pour la version anglaise, je la rédigerais.

Bonne nuit à tous

PS: j'en profite pour dire merci à Frantz d'avoir effacé mon 1er post incomplet , merci pour le K+1 :) et enfin j'ai rajouté dans mon profil l'adresse de mon site.

sanlogik


pbasmo

#7
Bonjour,

Suite du mod que j'ai encore un peu modifié pour y mettre un message clair (Suite) dans un style qui "accroche" l'oeil, en tout cas différent de celui utilisé pour afficher le commentaire. Pour ce faire, j'ai modifié 2 fichiers :

1) Fichier style.css du thème graphique utilisé : j'ai ajouté une classe spécifique au message de suite dont voici le code :


.thumb_caption_suite {
color: #FFCC00;
font-weight: bold;
padding: 2px;
}


Dans le thème utilisé, il y aura forcément une classe déjà définie pour le contenu du commentaire (.thumb_caption)
Cette classe supplémentaire pour le message de suite controlera la mise en forme de ce message.

2) Le script "functions.inc.php"

Pour plus de clarté, je reproduis ici l'intégralité du code de la fonction "build_caption". Par rapport à la 1ere modif, il y a simplement l'utilisation de la mise en forme.

Chercher le bloc suivant :

        if ($CONFIG['caption_in_thumbview']){
            $caption .= $row['caption'] ? "<span class=\"thumb_caption\">".strip_tags(bb_decode($row['caption']))."</span>" : '';
        }


Supprimer intégralement le bloc (même pour ceux qui ont déjà utilisé le mod) et remplacer le tout par ceci :


if ($CONFIG['caption_in_thumbview']){
   // ****************************************************************
   //MODIF du 18 juin 2007
   //Limitation à 15 mots des commentaire LONGS sous les vignettes

   // Initialisation du message de suite avec une fin de balise span
   // En cas d'absence de commentaire  la balise fermera la balise thumb_caption de mise en forme du comment.
   // En cas de commentaire, elle fermera les 2 balises de mises en forme du commentaire ET du message de suite.
   // Ceci pour afficher le message de suite juste apres le commentaire et éviter de générer 1 ligne supplémentaire
   $msg_suite = '</span>';

   // Si il y a un commentaire.....
   if ($row['caption'] != "") {
      // On définit le nbr de mots maxi à afficher
      $maxmots = 15;
      // Eclatement du commentaire en mots
      $mots = explode(" ",$row['caption'],$maxmots + 1);
      // On compte le nbre de mots trouvés
      $nbmots = count($mots);
      // On vide le reste du commentaire après le 15eme mot
      $mots[$maxmots] = "";
      // Si le nbr de mots trouvés -1 = le max autorisé, alors...
      if ($nbmots-1 == $maxmots) {
         // ... on fabrique le message de suite avec une balise de mise en forme définie dans le css..
         $msg_suite = '<span class="thumb_caption_suite">' . 'Suite...'.'</span>' ;
         // ... et on garde que le commentaire aurorisé en recomposant la phrase avec les mots séparés par 'espace'
         $row['caption'] = implode(" ",$mots);
      }
   }
   // Mise en forme du commentaire
   // La ligne initiale a été modifiée pour enlever la balise de fin /span
   $caption .= $row['caption'] ? "<span class=\"thumb_caption\">".strip_tags(bb_decode($row['caption'])) : '';
   // La balise de fin est ajoutée après le traitment du commentaire
   $caption = $caption . $msg_suite;
   // Fin de Modifications
   // ***********************************************************************
}


Sauvegarder, et tester.

Si tout est OK je traduis pour nos amis anglo-saxons :)

Pierre

pbasmo

Bonjour à tous,

La traduction en anglais est faite et peut être lue à cette adresse : http://forum.coppermine-gallery.net/index.php?topic=44827.0

Et merci Frantz pour l'info car je ne me souvenais plus de la manière de poster un article en anglais  ;)