[EDGE] Afficher les derniers sujets en temps réels style notifications toolbar

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

Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello les ami(e)s,

tout d'abord je voulais remercier Arnaud @no_way pour le développement de son script .

L'astuce sera donc visible pour tout le monde mais un petit message sera toujours apprécié afin de remercier l'auteur de ce script.

En faite, vous avez des notifications actuellement lorsque vous suivez un sujet ou autre suivant ce que vous avez coché dans les paramètres
de notifications comme ici:

https://www.milouze14.com/profile?mode=editprofile&page_profil=notifications

Je vais donc vous donner à l'aide du script d'Arnaud vous donner une apparence quasi identique ,
la fenêtre viendra se positionner en haut à droite de votre forum.

Pour la version EDGE, la fenêtre aura l'apparence du thème sélectionné  clin oeil .

L'aperçu imagé:



Pour cela:

1)
Que le portail soit activé:
Modules/Portail & Widgets/Configuration du portail/Options Générales du Portail

Afficher le portail : :cocher oui

Cliquez ensuite sur  Enregistr  



Plus bas

Cliquez sur Structure
recherchez le module "SUJETS RECENTS" et faire un glisser dans la partie gauche
Cliquez ensuite sur  Enregistr

2)
Il faut que votre forum pointe vers la page d'accueil:

Affichage/Page d'accueil/Généralités/Général

L'adresse de votre forum dirige vers : L'index du forum



3)

Il va falloir faire des petits changement dans le template mod_recent_topics:
Affichage/Templates/Portail/mod_recent_topics
Rechercher ceci:
Code:

        <div class="marquee" data-direction='{SCROLL_WAY}' data-duration='{SCROLL_DELAY}' data-pauseOnHover="true" style="overflow:hidden;height:{SCROLL_HEIGHT}px;">


Remplacez par:
Code:

        <div id="M14_Sujets_RecentsQuick"class="marquee" data-direction='{SCROLL_WAY}' data-duration='{SCROLL_DELAY}' data-pauseOnHover="true" style="overflow:hidden;height:{SCROLL_HEIGHT}px;">
 

Juste après recherchez ceci:
Code:
                   
   » <a href="{scrolling_row.recent_topic_row.U_TITLE}" title="{scrolling_row.recent_topic_row.L_TITLE}">{scrolling_row.recent_topic_row.L_TOPIC_TITLE}</a><br />
            <img src="{ICON_TIME}" alt="" />{scrolling_row.recent_topic_row.S_POSTTIME} {BY} 

Supprimez et remplacez par ceci:
Code:

  » <a class="M14_lastNotif"href="{scrolling_row.recent_topic_row.U_TITLE}" title="{scrolling_row.recent_topic_row.L_TITLE}">{scrolling_row.recent_topic_row.L_TOPIC_TITLE}</a><br />
            <img src="{ICON_TIME}" alt="" />{scrolling_row.recent_topic_row.S_POSTTIME} {BY} 

recherchez ceci:

Code:

 <div id="recent_topics_classical">

Juste après déposez ceci:

Code:
 <div id="M14_Sujets_RecentsQuick">



Recherchez ceci:
Code:
» <a href="{classical_row.recent_topic_row.U_TITLE}">{classical_row.recent_topic_row.L_TITLE}</a><br /><img src="{ICON_TIME}" alt="" />{BY} 

Supprimez et remplacez par ceci:

Code:

» <a class="M14_lastNotif"href="{classical_row.recent_topic_row.U_TITLE}">{classical_row.recent_topic_row.L_TITLE}</a><br /><img src="{ICON_TIME}" alt="" />{BY}&nbsp;


Tout à la fin du template recherchez ceci:
Code:
<!-- END classical_row -->

Supprimez et remplacez par ceci:

Code:
</div><!-- END classical_row -->


Pensez à enregistrer puis à valider en cliquant respectivement sur Enregistrer  puis  Ajout



Ensuite le script d'Arnaud:

Modules/HTML JAVASCRIPT/Gestion des codes JavascriptCréer un nouveau javascript


Mettre un titre explicite.
Cochez les endroits ou vous désirez avoir ces notifications.

Déposez ceci:
Code:

$(function(){
        var activeForGuests=true;
        function getLastTopics(){
            try{
                var NOW=Date.now(),FNOW=NOW+30000,NREG=0,lS=localStorage.lastTopics?JSON.parse(localStorage.lastTopics):(NREG=1,[NOW]);
                if(lS[0]*1>NOW)return false;
                $("#M14_SujetQuick").remove();
                var $lT=$("<ul id=\"M14_SujetQuick\"class=\"title\">");
                $.get("/portal",function(d){
                    try{
                        $list=$("#M14_Sujets_RecentsQuick a",d);
                        var i=0,html="",notifList=[],lSF=[FNOW];
                        if($list.length%2)throw "Balises A en nombre impair";
                        for(;i<$list.length;i++){
                            var $sujet=($list[i].href=$list[i].href.replace(/\?change_version=\w+/,""),$list[i]),$auteur=$list[++i],html=$("<li>").append($sujet).append($("<span> par </span>")).append($auteur)[0].outerHTML;
                            lSF.push(html);
                            if(lS.indexOf(html)==-1)notifList.push(html);
                        }
                        localStorage.lastTopics=JSON.stringify(lSF);
                        if(!NREG && notifList.length){
                            $lT.html(notifList.join(""));
                            $("body").append($lT);
                        }
                    }catch(e){
                        console.error(e,"Abandon")
                    }
                })
            }catch(e){
                console.error(e,"Abandon")
            }
        }
        try{
            localStorage.test="test"&&localStorage.removeItem("test");
            activeForGuests?setInterval(getLastTopics,5000):_userdata["session_logged_in"]&&setInterval(getLastTopics,5000);
        }catch(e){
            console.error(e,"Abandon")
        }
    }());


Pensez a cliquer sur le bouton Valider



Dans la feuille de style:
Affichage/Images et Couleurs/Couleurs/Feuille de style

Déposez ceci:
Code:
/*La fenetre notification des derniers sujets*/
ul#M14_SujetQuick
{

border-radius: 5px;
border:2px solid #fff;
padding: 10px;
position:fixed;
top:100px;
left:10px;
width:300px;
min-height:30px;
height:auto;
max-height:300px;
overflow:auto;

}

/*L image de notification*/
ul#M14_SujetQuick li:before
{
content:'';
background:url(https://i62.servimg.com/u/f62/11/26/21/37/notifi10.png)no-repeat;
position:absolute;
width:24px;
height:24px;
margin-left:-24px;
}
/*Chaque ligne de notification*/
ul#M14_SujetQuick li
{
margin-left:24px;
display: inline-flex;
color:#fff !important;
line-height:24px;
font-size: 10px !important;
margin-bottom:4px;
}
/*Les espaces sur les differentes balises*/
ul#M14_SujetQuick li a.M14_lastNotif,ul#M14_SujetQuick li span,
ul#M14_SujetQuick li a[href^="/u"],ul#M14_SujetQuick li a[href^="/u"] span
{
margin:-4px 2px 0px 2px;
}
/*Les liens de notification*/
ul#M14_SujetQuick li a.M14_lastNotif
{
width:170px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;  
color:#fff !important;
font-size: 10px !important;
text-decoration:none !important;

}
/*Premiere lettre en majuscule*/
ul#M14_SujetQuick li a.M14_lastNotif:first-letter{text-transform: uppercase !important;}
/*Les Pseudos dans la notification*/
ul#M14_SujetQuick li a[href^="/u"],ul#M14_SujetQuick li a[href^="/u"] span
{

color:#fff !important;
font-size: 10px !important;
text-decoration:none !important;
}


Pensez à valider les modifications en cliquant sur le bouton Valider



Voilà,c'est tout pour le moment.
Un soucis?
Direction l'entraide clin oeil
https://www.milouze14.com/f108-entraide-tous-supports


Dernière édition par Milouze14 le Mer 10 Jan 2018 - 19:09, édité 3 fois



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





fascicularia
avatar
Administrateur

Messagefascicularia

  • 16px
  • 24px
  • Zoom
Merci Philippe



Administrateur des forums



clost
avatar
Membre

Messageclost

  • 16px
  • 24px
  • Zoom
merci c'est excellent  super

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

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

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