Le bouton "mentionner" ne fonctionne plus.

2 participants

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

Résolu Le bouton "mentionner" ne fonctionne plus.

Message par long way home Mar 12 Nov 2024 - 22:30

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome, Internet Explorer, Safari
Capture d'écran du problème :
Voir l'image:

Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : Suite à l'ajout d'une balise div dans le template
Lien du forum : http://peoplealwaysleave.forumactif.com/

Description du problème

Bonjour à tous.tes,

Suite à la maintenance du forum durant laquelle j'ai modifié le template viewtopic_body, j'ai ajouté une balise <div> devant une autre div et une span, ce qui a rendu le javascript incorrect. J'ai tenté plusieurs options pour jouer avec le javascript mais je ne m'y connais pas suffisamment pour trouver la solution toute seule.

C'est donc l'ajout de la balise "backprofil" qui rend le java obsolète, je vous joins le code du template ainsi que le JS.

Code:
<!-- BEGIN displayed -->
   <tr class="post post--{postrow.displayed.U_POST_ID}" id="p{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}">
      <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="150">
         <span class="name"><a name="{postrow.displayed.U_POST_ID}" style="position: relative; top: -30px; width: 1px;" id="{postrow.displayed.U_POST_ID}"></a></span>
            <span class="postdetails poster-profile">
                                  <div class="backprofil"><br/><div class="fondps" align="center";><span class="pseudo">{postrow.displayed.POSTER_NAME}</span><div class="fdrank" align="center"><rank> ••• {postrow.displayed.POSTER_RANK} ••• </rank></div></div><div class="blocava"><div class="onl">{postrow.displayed.ONLINE_IMG}</div><div class="ava">{postrow.displayed.POSTER_AVATAR}</div></div>
                                  <div class="imglienspr"><i0>.</i0><div class="blocpr1">{postrow.displayed.PROFILE_IMG} {postrow.displayed.PM_IMG}<br/><!-- BEGIN contact_field -->{postrow.displayed.contact_field.CONTENT}<!-- END contact_field --></div></div><div class="blocprofil"><!-- BEGIN profile_field -->
                                  <lab>{postrow.displayed.profile_field.LABEL}</lab> <cont>{postrow.displayed.profile_field.CONTENT}</cont>{postrow.displayed.profile_field.SEPARATOR}
                                  <!-- END profile_field --></br></div></div>

Et le javascript :

Code:
/* FORUM VERSIONS
 * 0 = PHPBB2
 * 1 = PHPBB3
 * 2 = PUNBB
 * 3 = INVISION
 * 4 = MODERNBB
 */
$(function() {
  var version = 0,
      image = 'https://i.imgur.com/vyP1AQW.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 = ['.fondps pseudo', '.author a', '.username 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');
  });
});

Je vous remercie beaucoup pour l'aide que vous m'accorderez. Flowers2
avatar

long way home
**

Féminin
Messages : 53
Inscrit(e) le : 23/10/2014

http://peoplealwaysleave.forumactif.com/
long way home a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Le bouton "mentionner" ne fonctionne plus.

Message par Toryudo Mer 13 Nov 2024 - 10:35

Bonjour !

Une seule chose à modifier dans le JavaScript : comme vous êtes en version = 0 (pour phpBB2), le script tente de chercher l'élément '.fondps pseudo' où il est censé trouver le pseudo de la personne.
Techniquement, '.fondps pseudo' veut dire qu'il va chercher une balise qui a une class "fondps" dans laquelle se trouve une balise <pseudo>.
Mais ce que vous voulez trouver, ce n'est pas une balise <pseudo>, c'est une balise qui a la class "pseudo" : il manque juste un "." devant pseudo.
Avec '.fondps .pseudo' à la place, ça devrait fonctionner !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1577
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Le bouton "mentionner" ne fonctionne plus.

Message par long way home Mer 13 Nov 2024 - 19:00

Bonjour Toryudo ! Ohhhh mais j'ai honte de ne pas avoir trouvé cette solution qui paraît si logique et si simple maintenant que vous me l'expliquez ! Merci beaucoup, et ça fonctionne. publié
avatar

long way home
**

Féminin
Messages : 53
Inscrit(e) le : 23/10/2014

http://peoplealwaysleave.forumactif.com/
long way home 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