Vérifiez vos informations

Il semblerait que les informations techniques de votre profil n'aient pas été actualisées depuis un certain temps... Pour que l'aide apportée vous soit efficace, il est important que ces informations soient à jour : prenez quelques secondes pour confirmer ou compléter les informations suivantes.


Lien de votre forum
Version de ce forum
Vous êtes le fondateur de ce forum
Vous avez modifié le CSS de ce forum
Vous avez modifié les templates de ce forum
Votre navigateur

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 Mar 4 Aoû 2015 - 14:33

Ajouter un message lors du remerciement
Cette modification est compatible avec toutes les versions tant que ces conditions sont respectées :
- Les modifications de templates ne sont pas trop importantes (notamment le template viewtopic_body) ;
- Le système de remerciement est activé ;
Panneau d'administration  Modules  Points et réputation - Réputation (Activer le bouton "Merci")
- Une couleur de remerciement est sélectionnée :
Panneau d'administration  Affichage  Couleurs - Couleur de fond d'un message remercié

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).

Ajouter un message lors du remerciement 04-08-12

Ajouter ce message de remerciement


Modifier la feuille de style 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 :

Panneau d'administration  Affichage  Images et Couleurs - couleurs (Onglet Feuille de style CSS)

Insérez le code CSS suivant :

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;
}

N'oubliez pas de cliquer sur le bouton Valider pour sauvegarder les modifications.

Créer le code Javascript


Panneau d'administration  Modules  HTML & JAVASCRIPT - Gestion des codes Javascript

Assurez-vous que la gestion des codes Javascript soit activée, puis créez un nouveau javascript ayant pour titre "Remerciements" et pour placement "Sur les sujets" (plus d'informations sur la gestion des scripts).

Code:
$(function() {
  var message = function(child, parent) {
        var pseudo = $(child, parent).text(),
            icon = '<img src="https://i18.servimg.com/u/f18/18/21/60/73/fa_sta10.png" alt=""/>';
 
        return '<div id="fa_thanks_message">' + icon + ' The topic starter has thanked ' + 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.post' : 'tr.post'),
      j = post.length,
      i = 0;
 
  if (version == 'badapple') {
    if (window.console) console.error('This plugin is not optimized for your forum version. Please contact the support for further assistance.');
    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
    }
 
  }
});

N'oubliez pas de cliquer sur le bouton Valider pour sauvegarder les modifications.

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 messages où l'auteur a remercié l'un des membres !

Shadow

Shadow
Modéractive
Modéractive

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

Voir le profil de l'utilisateur
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