Ajouter un message lors du remerciement

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

Astuce Ajouter un message lors du remerciement

Message par Shadow le Mar 4 Aoû 2015 - 14:33

Ajouter un message lors du remerciement

Cette astuce vous permet d'ajouter un petit message en bas du post qui a été remercié par l'auteur du topic (grâce au bouton Merci).



Cette modification est compatible avec toutes les versions tant que ces conditions sont respectées:

  • Les modifications de templates ne sont pas trop importantes
  • Le système de remerciement est activé:
    Panneau d'Adminsitration > Modules > Réputation > Activer le bouton Merci: Oui
  • Une couleur de remerciement est sélectionnée:
    Panneau d'Administration > Affichage > Couleurs > Couleur de fond d'un message remercié

Comment ajouter ce message de remerciement?


Pour ajouter ce message, pas besoin d'être fondateur du forum, le statut d'administrateur suffit car aucune modification de templates n'est nécessaire. Smile

Les modifications CSS


Il faudra ajouter dans un premier temps le code CSS suivant. Il s'agit du style du message qui sera affiché, vous pouvez le modifier à votre guise. Wink

Rendez-vous dans Panneau d'Administration > Affichage > Couleurs > Feuille de style CSS et copiez-y ce code:

Code:
#fa_thanks_message img { vertical-align:middle }
#fa_thanks_message {
  color:#280;
  font-size:16px;
  font-weight:bold;
  text-align:center;
  background-color:#DFD;
  border:1px solid #BDB;
  border-radius:6px;
  padding:6px;
  margin:6px;
}

Le code javascript à ajouter


Ensuite, rendez-vous dans le Panneau d'Administration > Modules > Gestion des codes Javascript et ajoutez le script suivant:

Titre: Remerciement
Placement: Sur les sujets

Code:
$(function() {
  var message = function(child, parent) {
        var pseudo = $(child, parent).text(),
            icon = '<img src="http://i18.servimg.com/u/f18/18/21/60/73/fa_sta10.png" alt=""/>';
   
        return '<div id="fa_thanks_message">' + icon + ' L\'auteur du sujet remercie ' + pseudo + ' ! ' + icon + '</div>';
      },
     
      version = $('.bodylinewidth')[0] ? 0 : document.getElementById('wrap') ? 1 : $('.pun')[0] ? 2 : document.getElementById('ipbwrapper') ? 3 : 'badapple', // version check
      node = document.createElement(version ? 'DIV' : 'TR'),
      post = $(version ? 'div' : 'tr' + '.post'),
      j = post.length,
      i = 0;
 
  if (version == 'badapple') {
    if (window.console) console.error('Ce plugin n\'est pas optimisé pour la version de votre forum.');
    return;
  }
 
  node.id = 'fa_thanks'; // id for style modifications
  if (!version) node.innerHTML = '<td colspan="2"></td>'; // phpbb2 must have a cell as the child node
 
  for (; i < j; i++) {
   
    if ((version ? post[i] : post[i].firstChild).style.backgroundColor) { // thanked posts have the backgroundColor style property
     
      post[i].className += ' thanked'; // mark the thanked post with a class
      (version ? node : node.firstChild).innerHTML = message(['.name', 'dl > dt > strong', '.username', '.popmenubutton'][version], post[i]); // thanks message
     
      switch (version) {
       
        case 0 : // phpbb2
          node.firstChild.style.backgroundColor = post[i].firstChild.style.backgroundColor;
          node.firstChild.className = post[i].firstChild.className;
          post[i].parentNode.insertBefore(node, post[i].nextSibling);
          break;
         
        case 1 : // phpbb3
          post[i].firstChild.insertBefore(node, post[i].firstChild.lastChild.previousSibling);
          break;
         
        case 2 : // punbb
          node.className = 'postfoot';
          node.style.margin = '0';
          post[i].appendChild(node);
          break;
         
        case 3 : // invision
          node.className = 'post-footer';
          node.style.backgroundColor = post[i].style.backgroundColor;
          post[i].appendChild(node);
          break;
       
      }
     
      break; // break out of the for loop when the thanked post is found
    }
   
  }
});

Right Modification du code Javascript

Si vous souhaitez changer la structure du message de remerciement, vous pouvez le faire en modifiant la fonction message au début du script. Dans celle-ci, trois parties peuvent être modifiées:

  1. pseudo est la variable qui contient le nom du membre qui a été remercié. Vous pouvez en modifier le contenu ou la laisser telle quelle.
  2. icon est une variable qui contient l'icone étoile. Pour la remplacer, il suffit de modifier le lien de l'image dans l'attribut src.
  3. Enfin, return est le message lui-même. Vous pouvez le modifier comme vous le souhaitez tout en faisant attention à ne pas supprimer le mot return, qui permet l'affichage du message.
Une fois ces deux codes installés, ce message devrait apparaitre dans les posts où l'auteur a remercié un des membres! cheers



Règles Générales du Forum - Le Staff de ForumActif
Questions & Réponses Fréquentes - Trucs & Astuces
Outils Fondateurs - Perte de Mot de Passe

Shadow
Adminactive
Adminactive

Féminin
Messages : 23806
Inscrit(e) le : 30/03/2007

http://forum.forumactif.com
Shadow a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum