Derniers sujets
» [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique
par Milouze14 Dim 17 Mar 2019 - 6:05

» [PHPBB2]Supprimer les champs de contacts dans le profil
par Marley Smith Jeu 14 Mar 2019 - 10:18

» [TOUTES VERSIONS]Afficher au dessus de l'éditeur l'information si mode Wysiwyg ou texte
par FaGu Jeu 14 Mar 2019 - 1:39

» Copyright sur les images contenues dans les sujets
par Chéryl Mar 12 Mar 2019 - 8:52

» [PHPBB3] Supprimer les champs de contacts dans le profil
par Milouze14 Lun 11 Mar 2019 - 19:49

» [TOUTES VERSIONS] Mettre Youtube en plein écran sans logiciel extérieur tous forum
par Kaeyla Lun 11 Mar 2019 - 10:06

» Fenêtre d'édition en mode plein écran
par HeroxAquariophile Sam 9 Mar 2019 - 11:09

» Rajout d'un bouton pour la citation partielle
par HeroxAquariophile Sam 9 Mar 2019 - 11:02

» [TOUTES VERSIONS] Edition rapide
par fred9545 Sam 9 Mar 2019 - 10:40

» [TOUTES VERSIONS] Mettre en place des hashtags comme sur Twitter
par HeroxAquariophile Sam 9 Mar 2019 - 10:36

» [TOUTES VERSIONS]Fond différent en fonction du mode d'édition
par photoclic Ven 8 Mar 2019 - 22:15

» [TOUTES VERSIONS]Feuille de style saturée!! Si vos widgets sont activés alors....
par Milouze14 Mer 6 Mar 2019 - 20:08

» [MODERNBB]N'autoriser que les votes positifs
par Splash Mar 5 Mar 2019 - 16:52

» [MODERNBB] Ajouter les boutons "En Ligne" et "Hors-Ligne"
par chrisnvidia Dim 3 Mar 2019 - 17:22

» [AWESOMEBB]Ajouter les boutons "En Ligne" et "Hors-Ligne"
par Splash Dim 3 Mar 2019 - 12:19

» [INVISION] Afficher l'id/ami et brouillon dans le Welcome de la toolbar
par hamesashek Sam 2 Mar 2019 - 13:46

» [TOUTES VERSIONS] Passer des paramètres à un script via une requête GET
par no_way Jeu 28 Fév 2019 - 22:01

» [TOUTES VERSIONS]Afficher un message aux membres ayant moins de X messages
par no_way Jeu 28 Fév 2019 - 20:25

» [TOUTES VERSIONS] Installer Filepicker - Un gestionnaire d'upload de fichiers multi-sources gratuit
par HeroxAquariophile Mer 27 Fév 2019 - 18:22

» [TOUTES VERSIONS] Afficher le rang dans la toolbar
par HeroxAquariophile Mer 27 Fév 2019 - 17:41

[PHPBB3] 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
Milouze14
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.

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:

<!-- BEGIN scrolling_row -->


Supprimez et remplacez par ceci:

Code:

<div id="M14_Sujets_Recents">
<!-- BEGIN scrolling_row -->

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 />

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 />

recherchez ceci:

Code:
<script>

Juste avant déposez ceci:

Code:
</div>
Recherchez ceci:
Code:
<!-- END scrolling_row -->

Juste après déposez ceci:
Code:
<div id="M14_Sujets_Recents">

Recherchez ceci:
Code:
» <a href="{classical_row.recent_topic_row.U_TITLE}">{classical_row.recent_topic_row.L_TITLE}</a><br />{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 />{BY} 

Tout à la fin du template, recherchez ceci:
Code:
<!-- END classical_row -->
Juste après déposez ceci:

Code:
</div>


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

Le template dans sa totalité si ce dernier n'a pas été modifié auparavant:
Code:

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

 <div class="h3">{L_RECENT_TOPICS}</div>
<div id="M14_Sujets_Recents">
<!-- BEGIN scrolling_row -->
    {MARQUEE_JS_SRC}
    <div id="comments_scroll_div">
        <div class="marquee" data-direction='{SCROLL_WAY}' data-duration='{SCROLL_DELAY}' data-pauseOnHover="true" style="overflow:hidden;height:{SCROLL_HEIGHT}px;">
            <!-- BEGIN recent_topic_row -->
            » <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} 

            <!-- BEGIN switch_poster -->
            <a href="{scrolling_row.recent_topic_row.switch_poster.U_POSTER}">{scrolling_row.recent_topic_row.switch_poster.S_POSTER}</a><br /><br />
            <!-- END switch_poster -->

            <!-- BEGIN switch_poster_guest -->
            {scrolling_row.recent_topic_row.switch_poster_guest.S_POSTER}<br /><br />
            <!-- END switch_poster_guest -->
            <!-- END recent_topic_row -->
        </div>  </div>
    </div>
    <script>
        $(".marquee").marquee();
    </script>
<!-- END scrolling_row -->
          <div id="M14_Sujets_Recents">

<!-- BEGIN classical_row -->
 <!-- BEGIN recent_topic_row -->
»<a class="M14_lastNotif"href="{classical_row.recent_topic_row.U_TITLE}">{classical_row.recent_topic_row.L_TITLE}</a>
     <br />{BY}&nbsp;
 <!-- BEGIN switch_poster -->
 <a href="{classical_row.recent_topic_row.switch_poster.U_POSTER}">{classical_row.recent_topic_row.switch_poster.S_POSTER}</a>
 <!-- END switch_poster -->

 <!-- BEGIN switch_poster_guest -->
 {classical_row.recent_topic_row.switch_poster_guest.S_POSTER}
 <!-- END switch_poster_guest -->
    
 {ON} {classical_row.recent_topic_row.S_POSTTIME}<br /><br />

 <!--
 <a href="{classical_row.recent_topic_row.U_POSTER}">{classical_row.recent_topic_row.S_POSTER}</a> {ON} {classical_row.recent_topic_row.S_POSTTIME}<br /><br />
 -->
  

 <!-- END recent_topic_row -->
<!-- END classical_row -->
  </div>
 <span class="corners-bottom"><span></span></span></div>
</div>


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_notifLastSujet").remove();
                var $lT=$("<ul id=\"M14_notifLastSujet\">");
                $.get("/portal",function(d){
                    try{
                        $list=$("#M14_Sujets_Recents 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

Si vous désirez que les sujets restent toujours affichés:

Dans le script recherchez ceci:

Code:
 activeForGuests?setInterval(getLastTopics,5000):_userdata["session_logged_in"]&&setInterval(getLastTopics,5000);

Remplacez par:
Code:
 activeForGuests?getLastTopics():_userdata["session_logged_in"]&&getLastTopics();

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_notifLastSujet
{
background-color: #333;
border-radius: 5px;
opacity: .7;
padding: 10px;
position:fixed;
top:60px;
right:10px;
width:300px;
min-height:30px;
max-height:300px;
overflow:auto;
transition: opacity 0.5s ease-in;
}
/*Au survol de la fenetre l opacite a 1*/
#M14_notifLastSujet:hover{opacity:1;}
/*L image de notification*/
#M14_notifLastSujet 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_notifLastSujet li
{
margin-left:24px;
display: inline-flex;
color:white !important;
line-height:24px;
font-size: 10px !important;
margin-bottom:4px;
}
/*Les espaces sur les differentes balises*/
ul#M14_notifLastSujet li a.M14_lastNotif,ul#M14_notifLastSujet li span,
ul#M14_notifLastSujet li a[href^="/u"],#M14_notifLastSujet li a[href^="/u"] span
{
margin:-4px 2px 0px 2px;
}
/*Les liens de notification*/
ul#M14_notifLastSujet li a.M14_lastNotif
{
width:170px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;  
color:white !important;
font-size: 10px !important;
text-decoration:none !important;
}
/*Premiere lettre en majuscule*/
ul#M14_notifLastSujet li a.M14_lastNotif:first-letter{text-transform: uppercase !important;}
/*Les Pseudos dans la notification*/
ul#M14_notifLastSujet li a[href^="/u"],#M14_notifLastSujet li a[href^="/u"] span
{

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


Pensez à valider les modifications en cliquant sur le bouton Valider

Ce style affichera une fenêtre avec un fond foncé et une couleur de police blanche ensuite il y aura une légère opacité
et au survol cette dernière disparaitra.

Si vous désirez avoir un fond blanc et une police foncée:
Voici le style:

Code:
/*La fenetre notification des derniers sujets*/
ul#M14_notifLastSujet
{
background-color: #fff;
border-radius: 5px;
opacity: .7;
padding: 10px;
position:fixed;
top:60px;
right:10px;
width:300px;
min-height:30px;
max-height:300px;
overflow:auto;
transition: opacity 0.5s ease-in;
}
/*Au survol de la fenetre l opacite a 1*/
#M14_notifLastSujet:hover{opacity:1;}
/*L image de notification*/
#M14_notifLastSujet 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_notifLastSujet li
{
margin-left:24px;
display: inline-flex;
color:#333 !important;
line-height:24px;
font-size: 10px !important;
margin-bottom:4px;
}
/*Les espaces sur les differentes balises*/
ul#M14_notifLastSujet li a.M14_lastNotif,ul#M14_notifLastSujet li span,
ul#M14_notifLastSujet li a[href^="/u"],#M14_notifLastSujet li a[href^="/u"] span
{
margin:-4px 2px 0px 2px;
}
/*Les liens de notification*/
ul#M14_notifLastSujet li a.M14_lastNotif
{
width:170px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;  
color:#333 !important;
font-size: 10px !important;
text-decoration:none !important;
}
/*Premiere lettre en majuscule*/
ul#M14_notifLastSujet li a.M14_lastNotif:first-letter{text-transform: uppercase !important;}
/*Les Pseudos dans la notification*/
ul#M14_notifLastSujet li a[href^="/u"],#M14_notifLastSujet li a[href^="/u"] span
{

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



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 Mar 27 Mar 2018 - 4:13, édité 4 fois (Raison : Ajout explication)



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

Fondateur des forums





photoclic
photoclic
Milouzien

Messagephotoclic

  • 16px
  • 24px
  • Zoom
Bonjour,
Un grand merci à tous les acteurs de cette petite merveille.
Jackymi
Jackymi
Modérateur

MessageJackymi

  • 16px
  • 24px
  • Zoom
Bonjour

Merci à No_Way et à Philippe , pour le développement de cette astuce . hinhin
Invité
Anonymous
Invité

MessageInvité

  • 16px
  • 24px
  • Zoom
bonjour Philippe et Arnaud
merci pour cette astuce clin oeil
Milouze14
Milouze14
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello Invité,

je viens d'ajouter une information afin de pouvoir afficher de façon permanente les derniers sujets hinhin .



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

Fondateur des forums





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