Indication de nouveaux messages (messagerie)

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

Résolu Indication de nouveaux messages (messagerie)

Message par foxies Lun 15 Oct 2018 - 15:32

Détails techniques

Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : (lien masqué, vous devez poster pour le voir)

Description du problème

Bonjour bonjour Very Happy

Je suis en train de finir de personnaliser ma messagerie et j'ai besoin d'aide pour modifier l'indication des nouveaux messages dans celle-ci. Au lieu des icônes de base, j'aimerais que dans la liste des messages, ceux qui n'ont pas encore été lus clignotent grâce à une animation en CSS qui marche déjà sur mon forum au niveau des nouveaux messages des sujets (voir ce sujet).  

Pour l'instant, voici à quoi ressemble mon template privmsgs_body (j'ai réussi à faire fonctionner en partie l'effet "clignotant") :

Code:
<ul id="privmsgs-menu">
   <li>{INBOX}<div class="active"></div></li>
   <li>{SENTBOX}<div class="active"></div></li>
   <li>{OUTBOX}<div class="active"></div></li>
   <li>{SAVEBOX}<div class="active"></div></li>
</ul>

<div class="pm-actions">
   <a href="/privmsg?mode=post" class="button2">Écrire un nouveau message</a>
</div>

<div class="clear"></div>

<form action="{S_PRIVMSGS_ACTION}" method="post" name="privmsg_list">

<div class="forabg">
   <div class="inner"><span class="corners-top"><span></span></span>

   <ul class="topiclist pmlist bg_none">
   <!-- BEGIN listrow -->
   <li class="row {listrow.ROW_CLASS}">

          <dl class="icon"><span class="hidden">{listrow.PRIVMSG_FOLDER_IMG}</span>
         <dt>
           <a href="{listrow.U_READ}" class="topictitle">{listrow.SUBJECT}</a><br />
            {listrow.FROM} {listrow.DATE}
         </dt>
         <dd class="mark"><input type="checkbox" name="mark[]2" value="{listrow.S_MARK_ID}" /></dd>
      </dl>
   </li>
   <!-- END listrow -->
   <!-- BEGIN switch_no_messages -->
   <li class="row row1">
      <dl class="icon">
         <dt>
            <strong>{L_NO_MESSAGES}</strong>
         </dt>
         <dd class="mark"> </dd>
      </dl>
   </li>
   <!-- END switch_no_messages -->
   </ul>

   <span class="corners-bottom"><span></span></span></div>
</div>
<div class="clear"></div>
<div class="clear"></div>
<div class="pm-actions bottom">
   <div class="pm-actions-buttons">
      {S_HIDDEN_FIELDS}
                <div class="button2"><a href="javascript:select_switch_privmsg(true);">{L_MARK_ALL}</a></div>
                <div class="button2"><a href="javascript:select_switch_privmsg(false);">{L_UNMARK_ALL}</a></div>
      <input id="delete-marked" class="button2" type="submit" name="delete" value="{L_DELETE_MARKED}" />
      <input id="delete-all" class="button2" type="submit" name="deleteall" value="{L_DELETE_ALL}" />
   </div>
</div>
</form>

<div class="clear"></div>

<br style="clear:both" />

Comme vous pouvez le constater, j'ai déplacé ceci :

Code:
{listrow.PRIVMSG_FOLDER_IMG}

Et je lui ai attribué une class "hidden" qui correspond à ceci :

Code:
display:none;

Voici le script qui m'avait été fourni il y a quelques temps et qui fonctionne avec les nouveaux messages du forum :

Code:
$(function(){
var c='https://2img.net/i/fa/modernbb/topic_unread.png';
$('.hidden:contains("'+c+'")').closest('div').addClass('flash');
});

Pour l'instant, lorsque j'ai un message privé non lu dans ma messagerie, tous les autres messages clignotent en même temps que lui. Lorsqu'il y a plusieurs messages non lus dans la boîte de messagerie, ils clignotent tous et c'est en les lisant tous qu'ils cessent de clignoter. Je n'arrive pas à comprendre comment corriger ce bugue...

Merci d'avance pour votre précieuse aide I love you

Edit : J'allais oublier :p @Milouze14 m'avait gentiment aidée à mettre en place un système d'indication du nombre de MP non-lus et avec les modifications que j'ai effectué au niveau de listrow.PRIVMSG_FOLDER_IMG, il ne fonctionne plus. Je suppose que le problème réside à ce niveau du script :

Code:
$.get('/privmsg?folder=inbox', function (data) {
var MP = $(data).find('dl.icon[style*="https://2img.net/i/fa/modernbb/topic_unread.png"]').length;

Du coup je pense que cette partie du script sera à modifier en fonction de la solution qui sera trouvée Smile


Dernière édition par foxies le Dim 21 Oct 2018 - 8:28, édité 1 fois
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par foxies Mer 17 Oct 2018 - 8:15

UP Smile
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par foxies Jeu 18 Oct 2018 - 13:11

UP Smile
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par foxies Ven 19 Oct 2018 - 13:19

UP I love you
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par Invité Ven 19 Oct 2018 - 19:40

Hello foxies,
suivant la structure de ton template,
le script suivant fera l'affaire:
Code:

$(function(){
var c='https://2img.net/i/fa/modernbb/topic_unread.png';
$('img[class="hidden"][src="'+c+'"]').each(function(){
$(this).closest('li').addClass('flash');
});
});



a++
Anonymous

Invité
Invité


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

Résolu Re: Indication de nouveaux messages (messagerie)

Message par foxies Ven 19 Oct 2018 - 20:16

Bonsoir Milouze14 ! Smile

Malheureusement, ça n'a pas fonctionné. Je précise que je souhaite garder installé le script suivant pour l'indication des nouveaux messages dans les sujets de mon forum :

Code:
$(function(){
var c='https://2img.net/i/fa/modernbb/topic_unread.png';
$('.hidden:contains("'+c+'")').closest('div').addClass('flash');
});

Au cas où le nouveau script que je dois installer rentrerait en conflit avec celui-là... Je dis ça mais je ne sais pas ce qu'il en est réellement What a Face
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par Invité Sam 20 Oct 2018 - 18:53

Hello foxies,
ce que je ne comprends pas c'est la div parent que tu mentionnes dans le script:
Code:
.closest('div')

tu dois chercher la balise parent li et non div suivant ton template Shocked .
De plus dans ton template, tu laisses la variable sans les balises img,
pourquoi ne pas la déclarer ainsi:
Code:
<img class="hidden" src="{listrow.PRIVMSG_FOLDER_IMG}"/>

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Indication de nouveaux messages (messagerie)

Message par foxies Dim 21 Oct 2018 - 6:50

Bonjour Smile

J'ai modifié mon template privmsgs_body comme tu me le suggères pour remettre en place les balises img puis le JS pour l'affichage du nombre de MP dans ma barre de navigation et tout est rentré dans l'ordre. Merci I love you

foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Indication de nouveaux messages (messagerie)

Message par Invité Dim 21 Oct 2018 - 8:46

Hello foxies Wink ,
c'est parfait alors Very Happy .

a++
Anonymous

Invité
Invité


Invité 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