Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3] Temps écoulé sur derniers messages accueil

Page 2 sur 2 Précédent  1, 2

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

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 19 Avr 2020 - 0:07

Rappel du premier message :

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonjour à tous les milouziens,

Pour faire suite à ce post que j'aime beaucoup:
https://www.milouze14.com/t32565-resoluphpbb3-temps-ecoule-sur-nouveaux-messages

Serait-il possible de faire de même sur les derniers messages sur la page d'accueil, c'est à dire remplacer la date telle qu'elle est actuellement présentée par le temps écoulé.

J'ai réussi à le faire sur les sujets, mais là cela dépasse mes modestes compétences.

J'ai vu que Philippe l'a fait ici sur la page d'accueil :-)

Mon template index-box:
Code:

<ul class="linklist">
 <!-- BEGIN switch_user_logged_in -->  
        <!-- Ajout bouton Voir la page Facebook -->
        <li> • <a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;" target="_blank"title="Aller sur la page Facebook du Clic" href="https://www.facebook.com/Photoclic/">Voir la page Facebook du clic</a>  • </li>
          
 <li><a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;background: #177887;color: #fff;"href="{U_SEARCH_NEW}">Voir les nouveaux messages</a></li>
 <li class="sansrep"> • <a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;"href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a></li>        
  <!--  <li class="rightside"> • <a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;"href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a></li>  -->
  <!--  <li class="rightside"> • <a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;"href="{U_MARK_READ}" accesskey="m">{L_MARK_FORUMS_READ}</a></li>  -->
  
 <li class="rightside">  • <a style="margin-right: 15px;font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;"title="Voir tous les forums photos"href="/h9-voir-les-forums-du-clic" accesskey="m">Voir tous les sujets</a></li>
   <li class="rightside"> • <a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 3px 5px;"href="{U_TODAY_ACTIVE}">{L_TODAY_ACTIVE}</a></li>
        
        <Br/><br/>
 <!-- END switch_user_logged_in -->
</ul>

    <div class="M14_forabg">

<!-- BEGIN catrow -->
 <!-- BEGIN tablehead -->
 <div class="forabg">
 <div class="inner"><span class="corners-top"><span></span></span>
 <ul class="topiclist">
 <li class="header">
 <dl class="icon">
 <dd class="dterm"><div class="table-title">{catrow.tablehead.L_FORUM}</div></dd>
 <dd class="topics">{L_TOPICS}</dd>
 <dd class="posts">{L_POSTS}</dd>
 <dd class="lastpost"><span>{L_LASTPOST}</span></dd>
 </dl>
 </li>
 </ul>
 <ul class="topiclist forums">
 <!-- END tablehead -->

 <!-- BEGIN forumrow -->
 <li class="row">
 <dl class="icon" style="background:url({catrow.forumrow.FORUM_FOLDER_IMG}) no-repeat scroll {catrow.forumrow.INC_LEVEL} 50%;">
 <dd class="dterm">
 <div style="display: block; margin : 0 {catrow.forumrow.INC_LEVEL_RIGHT} 0 {catrow.forumrow.INC_LEVEL_LEFT};">
                                                          
 
            <h{catrow.forumrow.LEVEL} class="hierarchy M14_anchor">
                                                                  
 <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumtitle">{catrow.forumrow.FORUM_NAME}</a>
 </h{catrow.forumrow.LEVEL}>
 <br />
 
        <span class="M14_description">{catrow.forumrow.FORUM_DESC}</span>

 <!-- BEGIN switch_moderators_links -->
 {catrow.forumrow.switch_moderators_links.L_MODERATOR}{catrow.forumrow.switch_moderators_links.MODERATORS}
 <!-- END switch_moderators_links -->
                                                          
 
     <span class="M14_anchor">{catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}
     <strong>{forumrow.L_SUBFORUM_STR}</strong> {forumrow.SUBFORUMS}
     </span>

 </div>
 </dd>
                                          
    <dd class="topics"><span>{catrow.forumrow.TOPICS}</span> <dfn>{L_TOPICS}</dfn></dd>
    <dd class="posts"><span>{catrow.forumrow.POSTS}</span> <dfn>{L_POSTS}</dfn></dd>

                                          
 <dd class="lastpost">
 <!-- BEGIN ads -->
 <span class="AD_LastPA">
                                <span class="lastpost-avatar"><img src="{catrow.forumrow.ads.IMG}" alt="{catrow.forumrow.ads.TITLE}" /></span>
                                <span class="AD_LastInfos">
                                    <b><a href="{catrow.forumrow.ads.LINK}">{catrow.forumrow.ads.TITLE}</a></b><br />
                                    {catrow.forumrow.ads.DATE}<br />
                                    {catrow.forumrow.ads.LOCATION}
                                </span>
 </span>
                            <!-- END ads -->
 
                            <!-- BEGIN avatar -->
                            <span class="lastpost-avatar">{catrow.forumrow.avatar.LAST_POST_AVATAR}</span>
                            <!-- END avatar -->

 <span>
                                                                                                            
     <span class="M14_anchor">
                                                          
       <!-- BEGIN switch_topic_title -->
           <a href="{catrow.forumrow.U_LATEST_TOPIC}" class="my-tooltip" title="{catrow.forumrow.LATEST_TOPIC_TITLE}">{catrow.forumrow.LATEST_TOPIC_NAME}</a><br />
           <!-- END switch_topic_title -->                                                          
 {catrow.forumrow.USER_LAST_POST}
 </span>
 </dd>
 </dl>
 </li>
 <!-- END forumrow -->

 <!-- BEGIN tablefoot -->
 </ul>

 <span class="corners-bottom"><span></span></span></div>
 </div>
 <!-- END tablefoot -->
<!-- END catrow -->
      
</div>

      <!-- BEGIN switch_on_index -->
<ul class="linklist">
 <!-- sujets actifs du jour placés en haut:  
 <li><a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;" href="{U_TODAY_ACTIVE}">{L_TODAY_ACTIVE}</a></li>  

     on retire top 20 posteurs: et suppression des cookies
   <li><a href="{U_TODAY_POSTERS}">{L_TODAY_POSTERS}</a> •&nbsp;</li>
 <li class="last"><a href="{U_OVERALL_POSTERS}">{L_OVERALL_POSTERS}</a></li>    
  
   BEGIN switch_delete_cookies
 <li class="rightside"><a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;" href="{switch_on_index.switch_delete_cookies.U_DELETE_COOKIES}" rel="nofollow">{switch_on_index.switch_delete_cookies.L_DELETE_COOKIES}</a></li>
   -->
 <br/><br/>
  </ul>
<!-- END switch_on_index -->

Merci pour votre aide.


Dernière édition par photoclic le Mar 21 Avr 2020 - 16:39, édité 2 fois

Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 17:07

Étonnant Serge que ce soit effectif,
je vais essayer de trouver une solution plus propre.

Et voilou, tu as édité et hop, plus de "En cours"........................


Dernière édition par Milouze14 le Lun 20 Avr 2020 - 17:33, édité 1 fois
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 17:10

J'ai édité et te disais que c'était en place sur mon fofo, si tu veux voir.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 17:32

Tu peux me redonner le script complet du temps sur les widgets Serge.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 17:34

Rien changé sur ce que tu m'as écrit Phil:
Code:

//Temps écoulé sur widgets
    $(function(){
            $('.M14_classical_time').each(function(){
                var $this=$(this).html();
                var date=$(this).text();
                var r=/aujourd\D+(\d+):(\d{2})/i;
                var a=r.exec(date);
                if(a)
                {
                $(this).addClass('date').attr('title','Message récent');
                var d=new Date();
                d.setHours(a[1]);
                d.setMinutes(a[2]);
                var ec=new Date(Date.now()-d);
                var heure = ec.getUTCHours();
                if (heure <1) {
              $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCMinutes()+' min'));
              }
              else{
              $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCHours()+' h et '+ec.getUTCMinutes()+' min'));
              }         
                }
            });});
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 18:03

Alors, testes ceci Serge, n'ayant pas le codes html dans leurs totalités.
Tu seras résoudre le soucis par toi même sans aucun doute.

Supprimes le script suivant:
Code:
$(function(){
        $('.M14_classical_time').each(function(){
            var $this=$(this).html();
            var date=$(this).text();
            var r=/aujourd\D+(\d+):(\d{2})/i;
            var a=r.exec(date);
            if(a)
            {
            $(this).addClass('date').attr('title','Message récent');
            var d=new Date();
            d.setHours(a[1]);
            d.setMinutes(a[2]);
            var ec=new Date(Date.now()-d);
            var heure = ec.getUTCHours();
            if (heure <1) {
          $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCMinutes()+' min'));
          }
          else{
          $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCHours()+' h et '+ec.getUTCMinutes()+' min'));
          }         
            }
        });});


Il faut mettre ce code html :
Code:
<div class="M14_lAstSujets">
          
   <div>
                       
   </div>
</div>

Dans le template viewforum_body:
Affichage/Templates/Général/viewforum_body

A placer juste avant la variable:
Code:
{BOARD_INDEX}

Ensuite, dans le template mod_recent_topics:
Affichage/Templates/Portail/mod_recent_topics

Tout en bas du template, déposes le script supprimé:
Code:
<script>
 
    $(function(){
            $('.M14_classical_time').each(function(){
                var $this=$(this).html();
                var date=$(this).text();
                var r=/aujourd\D+(\d+):(\d{2})/i;
                var a=r.exec(date);
                if(a)
                {
                $(this).addClass('date').attr('title','Message récent');
                var d=new Date();
                d.setHours(a[1]);
                d.setMinutes(a[2]);
                var ec=new Date(Date.now()-d);
                var heure = ec.getUTCHours();
                if (heure <1) {
              $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCMinutes()+' min'));
              }
              else{
              $(this).html($(this).html().replace(/aujourd\D+(\d+):(\d{2})/i,'Il y a '+ec.getUTCHours()+' h et '+ec.getUTCMinutes()+' min'));
              }       
                }
            });});
</script>

Puis le script suivant :
Code:

//widget nouveaux sujets en haut de page sujets et sf
    $(function(){
      var nomduwidget = 'Derniers sujets'; //titre du widget
      $('.module:contains("' + nomduwidget + '")').css({'width':'30%','height':'315px','margin-left':'34%','overflow-y':'scroll'}).detach().prependTo('#main-content');           
      $('#M14_lastTopIcSLoad').css({'margin-left':'50px'});         
      $('.jsUserPhoto_mini').css({'margin-left':'-55px','position': 'absolute'}); 
      });

Devient:

Code:
//widget nouveaux sujets en haut de page sujets et sf
    $(function(){
      var nomduwidget = 'Derniers sujets'; //titre du widget
var a=$('.module:contains("' + nomduwidget + '")').css({'width':'30%','height':'315px','margin-left':'34%','overflow-y':'scroll'}).detach();           
a.prependTo('.M14_lAstSujets div');       
      $('.jsUserPhoto_mini').css({'margin-left':'-55px','position': 'absolute'}); 
      });





avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 18:33

Alors je crois que j'ai tout mis en place.

Mais je n'ai les durées sur aucun des widgets derniers sujets Phil.
Et le widget n'apparait plus sur les sujets.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 18:39

Supprimes le commentaire devant le script dans le template Serge:
Dans la console, je vois ceci:
Code:

//Temps écoulé sur widgets$(function(){
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 18:47

J'étais en train de le faire au moment où tu l'écrivais :-)

C'est effectivement mieux.

Mais, toujours pas de widget sur les sujets.
Toujours pas de durée sur le widget en haut de la page d'accueil.
Il y a un chiffre après les mn.

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:04

Pour le widget dans les sujets Phil, ça devient bon quand je mets :

Code:
#main-content
au lieu de
Code:
.M14_lAstSujets div
ici:
Code:
var a=$('.module:contains("' + nomduwidget + '")').css({'width':'30%','height':'315px','margin-left':'34%','overflow-y':'scroll'}).detach();         
    a.prependTo('#main-content');
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 19:06

Pour les sujets:

[PHPBB3] Temps écoulé sur derniers messages accueil - Page 2 1105


Tu as bien coché le script suivant sur l'index et les sous forums:
Code:
//widget nouveaux sujets en haut de page sujets et sf
    $(function(){
      var nomduwidget = 'Derniers sujets'; //titre du widget
var a=$('.module:contains("' + nomduwidget + '")').css({'width':'30%','height':'315px','margin-left':'34%','overflow-y':'scroll'}).detach();            
a.prependTo('.M14_lAstSujets div');        
      $('.jsUserPhoto_mini').css({'margin-left':'-55px','position': 'absolute'});  
      });
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:12

Philippe, coché sur sujets et sous forums.
Si je coche index, le widget sra effectivement mis sur l'accueil, mais pas au bon endroit.

Pour les sujets Phil, le widget est réapparu après cette modif:
https://www.milouze14.com/t32577-phpbb3-temps-ecoule-sur-derniers-messages-accueil#620716
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 19:22

Ben tu importes dans une div (#main-content ) englobant presque tout le fofo ,
il est logique que ce ne soit pas positionné au même endroit.

Ce que j'ai développé ici est fonctionnel:
https://www.milouze14.com/t32577-phpbb3-temps-ecoule-sur-derniers-messages-accueil#620702

Aucun soucis sur le portail:
https://testphpbb3.1fr1.net/portal

Aucun soucis sur l'index:
https://testphpbb3.1fr1.net/

Aucun soucis sur les sous forums:
https://testphpbb3.1fr1.net/f10-blabla


Il faut voir, si tu n'as pas de doublon sur ton fofo Serge.

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:30

Oui Philippe, tu as raison pour la div.
C'était juste pour voir le pb sur les sujets.

Là tout est comme tu l'as défini, et j'ai coché aussi sur l'index.

Et donc:
. pas de widget sur les sujets.
. pas de durée sur le widget en haut de la page d'accueil.
. Il y a un chiffre après les mn.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:38

Philippe,

Ne faudrait-il pas définir dans view topic body la div ?
Code:

    <div class="M14_lAstSujets">
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 19:42

Il faut mettre le même code html sur la page d'accueil que dans le template :
Comme mentionné ici:
https://www.milouze14.com/t32577-phpbb3-temps-ecoule-sur-derniers-messages-accueil#620702


c'est à dire:
Code:
<div class="M14_lAstSujets">
          
   <div>
                      
   </div>
</div>

Sur les sujets, il est présent est fonctionnel:

[PHPBB3] Temps écoulé sur derniers messages accueil - Page 2 1106
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:46

On est bien d'accord Philippe.
C'est bon pour les sujets maintenant Merci

Reste ces 2 trucs:
. pas de durée sur le widget en haut de la page d'accueil.
. Il y a un chiffre après les mn.

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 19:48

Peut être une surcharge de scripts Serge!!!
Tout est fonctionnel sur mon fofo de tests.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 19:55

Pas plus surchargé qu'avant de ce que l'on vient de faire Philippe lOL
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 20 Avr 2020 - 19:58

Il doit y avoir conflit Serge,
je ne vois pas autre chose..
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 20 Avr 2020 - 20:00

OK.

Je ferais des essais dans la soirée et sur mon forum test.

Et tu m'as démontré Philippe que Impossible n'est pas Milouze :-)

Bonne soirée et à demain.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mar 21 Avr 2020 - 1:18

Il y avait effectivement conflit Philippe.

Dans le JS de la page d'accueil que j'avais mis ici:
https://www.milouze14.com/t32577-phpbb3-temps-ecoule-sur-derniers-messages-accueil#620670
J'ai retiré cette ligne:
Code:
 $('.M14_lAstSujets div').load('/ #M14_lastTopIcSLoad');

Et il a fallu ensuite pour avoir le même rendu qu'avant sur l'accueil que je revois le css ainsi:
Code:

/*Derniers sujets dans généralités pour page accueil*/
#M14_panel .module.M14_lastTopIcSLoad div.h3 {display: none;}

#M14_panel .module.M14_lastTopIcSLoad {
 background-color: transparent !important;
 border: none !important;
 font-size: 12.5px;
 height: 212px !important;
 line-height: 1.3em;
 margin-left: 18% !important;
 overflow-x: hidden !important;
 overflow-y: scroll !important;
 width: 77% !important;
}



Pour le chiffre après les mn, il a fallu que je retire le script du template mod_recent_topics et que je le remette sur toutes les pages.

A noter aussi Philippe que si un membre règle dans son profil le format de date et heure à l'anglaise, cet à dire 5h 12 pm pour 17h 12, il y aura un décalage de 12h dans le calcul.
Je ne sais pas si tu as une parade ou la possibilité de faire en sorte que ces choix ne soient pas possible, ou forcer un format.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mar 21 Avr 2020 - 16:16

Hello Serge,
effectivement, le soucis du fuseau horaire et le réglage de l'affichage de l'heure n'est pas détectable.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mar 21 Avr 2020 - 16:39

Bonjour Philippe,

Sinon, pour moi c'est tout bon l'ami tape la
Je passe donc en résolu.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mar 21 Avr 2020 - 17:12

Re Serge,
sinon, tu peux ajouter ce script qui ne va pas laisser le choix du format de l'heure dans le profil:

Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Mettre un titre explicite.

Cocher sur toutes les pages.


Déposer ceci:

Code:

$(function(){
if(location.href.match(/profil=preferences/))
{
$('select[name="dateformat"]').each(function(){
$(this).find('option[value!="D j M - G:i"]').remove(); 
});
}
});

Penser a cliquer sur le bouton Valid

Il faudra par contre que le membre valide ce profil.



Hello


Sujet résolu et déplacé dans le forum adéquate  

A bientôt pour une prochaine demande  clin oeil


 

Page 2 sur 2 Précédent  1, 2

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