Rendre le système de mentions plus facile à utiliser

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

  • 0

Astuce Rendre le système de mentions plus facile à utiliser

Message par Shadow Mar 19 Mai 2015 - 9:52

Rendre le système de mentions plus facile à utiliser

Cette astuce va vous donner différents moyens d'utiliser le système de mention.

Identifier la version de son forum


Les deux premiers codes Javascript doivent être modifiés suivant la version de votre forum, rien de bien grave vous devrez indiquer comme valeur de la variable version le chiffre correspondant à votre version :

  • 0 : PHPBB2 ;
  • 1 : PHPBB3 ;
  • 2 : PUNBB ;
  • 3 : INVISION ;
  • 4 : MODERNBB ;
  • 5 : AWESOMEBB.


Pour connaître la version de votre forum, vous pouvez vous référer à ce tutoriel Les versions de forum Forumactif.

Un @ devant le nom d'utilisateur dans le profil


Cette modification ajoute un @ devant le nom de l'utilisateur dans les profils de messages. En cliquant sur celui-ci le nom de l'utilisateur sera directement ajouté dans l'éditeur.

Voir illustration :

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 "Mentionner via le profil des messages" et pour placement "Sur toutes les pages" (plus d'informations sur la gestion des scripts).

Code:
/* FORUM VERSIONS
        * 0 = PHPBB2
        * 1 = PHPBB3
        * 2 = PUNBB
        * 3 = INVISION
        * 4 = MODERNBB
        * 5 = AWESOMEBB
        */
        $(function() {
          var version = 0;
 
          if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
            document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
            my_setcookie('fa_mention','');
          } if (!/\/t\d+/.test(window.location.pathname)) return;
 
          for (var a = $(['.name strong a', '.postprofile dt strong a', '.username a', '.postprofile dt a ~ a', '.postprofile-name a', '.post-author-name a'][version]), b, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'); i<j; i++) {
            b = document.createElement('A');
            b.title = 'Mention ' + $(a[i]).text();
            b.style.marginRight = '3px';
            b.className = 'fa-mention';
            b.innerHTML = '@';
            b.href = '#';
            b.onclick = function() {
              var n = this.title.replace(/^.*?\s/,'');
     
              if (version == 5) {
                var area = document.getElementById('quick-reply-textarea');
       
                if (area) {
                  area.value += '@"' + n + '" ';
                  area.focus();
                }
       
                return false;
       
              } {
                if ($.sceditor) t.insertText('@"' + n + '" ');
                else {
                  my_setcookie('fa_mention', n);
                  window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
                }
              }
     
              return false;
            };
 
            a[i].parentNode.insertBefore(b, a[i]);
          }
 
          $(function(){
            if (!$.sceditor) return;
            t=$(t).sceditor('instance');
          });
        });

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

Si vous voulez styliser cette arobase il faudra ajouter un peu de CSS. Par exemple le code suivant :

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

Code:
/* style par défaut */
a.fa-mention {
  color:#333;
}
 
/* style au survol */
a.fa-mention:hover {
  color:#666;
}

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

Bouton mentionner dans les options de message


Cette modification vous permettra d'ajouter un bouton aux options de message. Vous pourrez alors citer la personne qui à écrit le message en cliquant sur le bouton.

Rendre le système de mentions plus facile à utiliser Tutome11

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 "Mentionner via les options de message" et pour placement "Sur toutes les pages" (plus d'informations sur la gestion des scripts).

Code:
/* FORUM VERSIONS
 * 0 = PHPBB2
 * 1 = PHPBB3
 * 2 = PUNBB
 * 3 = INVISION
 * 4 = MODERNBB
 */
$(function() {
  var version = 4,
      image = 'http://i19.servimg.com/u/f19/18/21/60/73/mentio10.png';
 
  if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
    document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
    my_setcookie('fa_mention','');
  } if (!/\/t\d+/.test(window.location.pathname)) return;
 
  for (var a = $(['.post-options', '.profile-icons', '.post-options', '.posting-icons', '.profile-icons'][version]), b, c, d = ['.name strong a', '.author a', '.username a', '.author a', '.postprofile-name a'][version], e, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'), l = version == 1 || version == 3 || version == 4; i<j; i++) {
    b = document.createElement('IMG');
    b.src = image;
    b.alt = 'Mentionner';
    b.title = 'Mentionner ' + $(a[i]).closest('.post').find(d + ':not(.fa-mention)').text();
    b.className = 'i_icon_mention';
    b.onclick = function() {
      var n = this.title.replace(/^.*?\s/,'');
 
      if ($.sceditor) t.insertText('@"' + n + '" ');
      else {
        my_setcookie('fa_mention', n);
        window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
      }
    };
 
    if (l) {
      c = document.createElement('LI');
      c.appendChild(b);
    }
 
    a[i].insertBefore(l ? c : b, a[i].firstChild);
  }
 
  $(function(){
    if (!$.sceditor) return;
    t=$(t).sceditor('instance');
  });
});

Afin de changer l'image du bouton il vous faudra changer l'adresse de la variable image au début du script.

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

Bouton mentionner dans l'éditeur


Faisant suite à une mise à jour de Forumactif, l'astuce ci-dessous est nativement intégrée à l'éditeur de message. Vous pouvez consulter le tutoriel mentionner (taguer) des utilisateurs pour en savoir plus.

Astuce obsolète:

Shadow

Shadow
Modéractive
Modéractive

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

Shadow a été remercié(e) par l'auteur de ce sujet.

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

- Sujets similaires

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