Membres connectés récemment
[PHPBB3] Temps écoulé sur nouveaux messages
3 participants
Page 2 sur 2 • Partagez
Page 2 sur 2 • 1, 2
Rappel du premier message :
- Version du forum :PHPBB3
- Templates modifiés :oui
- Navigateur :Firefox
Bonjour à tous les milouziens,
Serai-t-il possible d'ajouter sur les nouveaux messages et peut-être aussi sur les sujets récents (voire même sur la liste des sujets) le temps écoulé entre l'heure actuelle et l'heure du post.
La variable de la date actuelle pourrait par exemple être récupérée ainsi:
La présentation pourrait être celle-ci:
Merci pour votre aide.
Serai-t-il possible d'ajouter sur les nouveaux messages et peut-être aussi sur les sujets récents (voire même sur la liste des sujets) le temps écoulé entre l'heure actuelle et l'heure du post.
La variable de la date actuelle pourrait par exemple être récupérée ainsi:
- Code:
var maDate = new Date();
var t1 = maDate.getTime();
La présentation pourrait être celle-ci:
Merci pour votre aide.
Super Philippe. T'es génial!
Qu'appelles-tu le double agréage?
Tiens, bizarre Philippe, cette image que tu as pourtant exclue apparait
https://i.servimg.com/u/f58/18/97/96/21/man-wi10.png
Qu'appelles-tu le double agréage?
Tiens, bizarre Philippe, cette image que tu as pourtant exclue apparait
https://i.servimg.com/u/f58/18/97/96/21/man-wi10.png
La compilation de messages d'un même membre comme ici:
https://photoclic.forum-pro.fr/t21822-inclassables-abstraction-confine-ajout#279525
Pour cette image, on rien exclut Serge, on importe le contenu du message.
Je file pour ma part.
Bonne soirée.
https://photoclic.forum-pro.fr/t21822-inclassables-abstraction-confine-ajout#279525
Pour cette image, on rien exclut Serge, on importe le contenu du message.
Je file pour ma part.
Bonne soirée.
Milouze14 a écrit:
.....
De plus il faudrait le double agréage des messages car cela va provoquer des erreurs.
Il y est Philippe, le double agréage des messages.
Tu veux dire il faudrait retirer?
Milouze14 a écrit:
....
Pour cette image, on rien exclut Serge, on importe le contenu du message.
..
Ah ok, je croyais que tu la testais ici pour ne pas qu'elle y soit:
- Code:
//on supprime les images non désirées
var notA="https://i.servimg.com/u/f58/18/97/96/21/man-wi10.png";
$.get(topic, function(data){
var img=$(data).find('div[class*="post--"]:first').find('.content div:not(.M14_reception_photos) img:not([longdesc]):not([src^="https://7img.net"],[src="'+notA+'"]):first').attr('src');
Pour info Philippe et pour décharger un peu, j'ai retiré l'import de la date.
Elle est redondante car elle apparait déjà dans la colonne "Derniers messages".
Sinon tout est ok Phil.
Je passe le sujet demain en résolu après t'avoir lu.
A moins que tu te lances dans ce que j'ai mis entre parenthèses là haut: "mettre aussi le temps écoulé sur la liste des sujets", ici ou sur un autre post.
Si c'est trop lourd Phil, laisse tomber.
En tout cas, 2 énormes merci à toi et Arnaud pour ce développement très enrichissant.
Hello Serge,
ah non , ici:
C'est l'importation de la première photo du premier message.
Pour moi, c'est ok Serge.
Tu veux parler du Widget Serge, dans ce cas ,
tu as activé le défilement et merci de me donner le template :mod_recent_topics s'il te plait.
Mais je sais pas ou l'on pourrait placer l'heure retenue!!
ah non , ici:
- Code:
//on supprime les images non désirées
var notA="https://i.servimg.com/u/f58/18/97/96/21/man-wi10.png";
$.get(topic, function(data){
var img=$(data).find('div[class*="post--"]:first').find('.content div:not(.M14_reception_photos) img:not([longdesc]):not([src^="https://7img.net"],[src="'+notA+'"]):first').attr('src');
C'est l'importation de la première photo du premier message.
Pour moi, c'est ok Serge.
Tu veux parler du Widget Serge, dans ce cas ,
tu as activé le défilement et merci de me donner le template :mod_recent_topics s'il te plait.
Mais je sais pas ou l'on pourrait placer l'heure retenue!!
Re Phil,
Oui, c'est bon sur la page latest.
Il s'agit des sous forums Philippe où tu m'as écrit ICI un joli script:
Oui, c'est bon sur la page latest.
Il s'agit des sous forums Philippe où tu m'as écrit ICI un joli script:
- Code:
//Aperçu des miniatures sur forums C2 Les photos du clic et C1
if (/\/?f\d+.*/.test(window.location.pathname)) {
$(function () {
$('a.topictitle.bis').each(function(){
var a=$(this).closest('li').find('dd.posts span').text();
//IMAGE SI UN MESSAGE
var img1='https://i.servimg.com/u/f25/18/97/96/21/3101010.png';
//var img1='https://i.servimg.com/u/f25/18/97/96/21/icon_e10.png ';
//IMAGE SI DEUX MESSAGES
//var img2='https://i.servimg.com/u/f87/11/26/21/37/11010.png';
var img2='https://i.servimg.com/u/f25/18/97/96/21/11011_10.png';
//SI UN MESSAGE ON AFFICHE L ICONE CORRESPONDANT A UN MESSAGE
if(a==0)
{
$(this).after( '<a href="#" style="margin-left: 5px;" class="preview_topic"><img src="'+img1+'" title="Voir le premier message" alt="Preview" style="cursor:pointer;padding-top: 6px;padding-left: 17px;"/></a>');
}
//AU DELA ON AFFICHE L ICONE CORRESPONDANT A DEUX MESSAGES ET ON CHANGE LA CLASS
if(a>=1)
{
$(this).after( '<a href="#" style="margin-left: 5px;" class="preview_topicmore"><img src="'+img2+'" title="Voir le premier et le dernier message" alt="Preview" style="cursor:pointer;padding-top: 6px;padding-left: 17px;"/></a>');
}});
$('.preview_topic').click(function () {
var url = this.previousSibling.href;
$('body').prepend('
<div id="topicCloseD" style="cursor:pointer;position: fixed;top: 140px;left: 72%;background-color: black;border-radius: 30px;z-index: 25;"><img src="https://i.servimg.com/u/f25/18/97/96/21/icon_e11.png"style="position: relative;z-index: 20;"title="Fermer"/>
<div id="topic_popup" class="popupWrapper" style="border:2px solid #CCC;border-radius:5px;left:24.5%;width: 50%;max-height: 75%;overflow: auto;position: fixed !important;top:135px;text-align: center;">
<div id="topicPreviewing" style="max-height:800px;overflow-y:auto;"><center><span class="topicPreview-loading" style="font-weight:bold;font-size:18px;color:white;"> Chargement...</span></center></div></div></div>');
$('#topic_popup').load(url + ' .M14_post:first', function () {
$('#topicCloseD').click(function () {
$('#topicCloseD, #topic_popup').remove();
});});return false;});
$('.preview_topicmore').click(function () {
var url = this.previousSibling.href;
$('body').prepend('
<div id="topicCloseD" style="cursor:pointer;position: fixed;top: 140px;left: 72%;background-color: black;border-radius: 30px;z-index: 25;"><img src="https://i.servimg.com/u/f25/18/97/96/21/icon_e11.png"style="position: relative;z-index: 20;"title="Fermer"/>
<div id="topic_popup" class="popupWrapper" style="border:2px solid #CCC;border-radius:5px;left:24.5%;width: 50%;max-height: 75%;overflow: auto;position: fixed !important;top:135px;">
<div id="topicPreviewing" style="z-index:10010;max-height:1600px;overflow-y:auto;"><center><span class="topicPreview-loading" style="font-weight:bold;font-size:18px;color:white;"> Chargement...</span></center></div></div></div>');
$('#topic_popup').load(url + ' .M14_post:first,.M14_post:last', function () {
$('#topicCloseD').click(function () {
$('#topicCloseD, #topic_popup').remove();
});});return false;});
if (_userdata["user_id"] < (0)){$('a[class^="preview_to"]').hide();}});
}
Le script est sur les sous-forums.
Voici le template demandé Phil:
Voici le template demandé Phil:
- Code:
<!-- position widgets et flèches dans sujets et ClicExpress-->
<style>
#content-container div#left {margin-top:339px;}
.widget-arrow.isleft {margin-top: 373px;}
div#toolbar_list_name_ClicExpress {left: 50%;}
<!-- Fin position widgets et flèches dans sujets et ClicExpress-->
</style>
<!-- BEGIN topics_list_box -->
<!-- BEGIN row -->
<!-- BEGIN header_table -->
<!-- BEGIN multi_selection -->
<script type="text/javascript">
function check_uncheck_main_{topics_list_box.row.header_table.BOX_ID}()
{
alert('MAIN');
var all_checked = true;
for (i = 0; (i < document.{topics_list_box.FORMNAME}.elements.length) && all_checked; i++)
{
if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}')
{
all_checked = document.{topics_list_box.FORMNAME}.elements[i].checked;
}
}
document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked = all_checked;
}
function check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}()
{
alert('ALL');
for (i = 0; i < document.{topics_list_box.FORMNAME}.length; i++)
{
if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}')
{
document.{topics_list_box.FORMNAME}.elements[i].checked = document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked;
}
}
}
</script>
<!-- END multi_selection -->
<a id="M14"style="position: relative;top: -90px;"></a>
<div class="forumbg announcement">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist topics">
<li class="header">
<dl class="icon">
<dt>
<!-- BEGIN multi_selection -->
<input onclick="check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}();" type="checkbox" name="all_mark_{topics_list_box.row.header_table.BOX_ID}" value="0" />
<!-- END multi_selection -->
{topics_list_box.row.L_TITLE}
</dt>
<dd class="posts" style="padding-left:20px;">{topics_list_box.row.L_REPLIES}</dd>
<!-- on masque la colonne Vues <dd class="views">{topics_list_box.row.L_VIEWS}</dd> -->
<dd class="lastpost"><span>{topics_list_box.row.L_LASTPOST}</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist topics bg_none">
<!-- END header_table -->
<!-- BEGIN header_row -->
<strong>{topics_list_box.row.L_TITLE}</strong>
<!-- END header_row -->
<!-- BEGIN topic -->
<!-- BEGIN table_sticky -->
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="M14_forumbg forumbg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist topics">
<li class="header">
<dl class="icon">
<!--<dd class="dterm">-->
<dd class="dterm" style="padding-left:0;">
<!-- BEGIN multi_selection -->
<input onclick="check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}();" type="checkbox" name="all_mark_{topics_list_box.row.header_table.BOX_ID}" value="0" />
<!-- END multi_selection -->
{topics_list_box.row.topic.table_sticky.L_TITLE}
</dd>
<dd class="posts" style="padding-left:60px;">{topics_list_box.row.topic.table_sticky.L_REPLIES}</dd>
<!-- <dd class="authors">{topics_list_box.row.L_AUTHOR}</dd> -->
<!-- on masque la colonne Vues <dd class="views">{topics_list_box.row.topic.table_sticky.L_VIEWS}</dd> -->
<dd class="lastpost"><span>{topics_list_box.row.topic.table_sticky.L_LASTPOST}</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist topics bg_none">
<!-- END table_sticky -->
<li class="row {topics_list_box.row.ROW_ALT_CLASS}"<!-- BEGIN line_sticky --> style="margin-top:5px;"<!-- END line_sticky --> >
<dl class="icon" style="background-image:url('{topics_list_box.row.TOPIC_FOLDER_IMG}');">
<dd class="dterm" title="{topicrow.TOPIC_FOLDER_IMG_ALT}" {topics_list_box.row.ICON}>
<!-- BEGIN single_selection -->
<input type="radio" name="{topics_list_box.FIELDNAME}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} />
<!-- END single_selection -->
{topics_list_box.row.NEWEST_POST_IMG}
{topics_list_box.row.PARTICIPATE_POST_IMG}
<span class="M14_type_post">{topics_list_box.row.TOPIC_TYPE}</span>
<div class="topic-title-container"><h2 class="topic-title hierarchy M14_anchor"><a class="topictitle" href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a></h2></div>
<a class="M14_LoaD_ToPiCsConT" href="{topics_list_box.row.U_VIEW_TOPIC}"></a>
<!-- BEGIN switch_description -->
<br />
{topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}
<!-- END switch_description -->
<br />
{topics_list_box.row.GOTO_PAGE_NEW}
<span class="span-tab">{topics_list_box.row.L_BY} <strong>{topics_list_box.row.TOPIC_AUTHOR}</strong>
<a class="topictitle bis" href="{topics_list_box.row.U_VIEW_TOPIC}"style="display:none;"></a>
</span>
<!-- Script Enveloppe retiré
<img class="M14_GetPosts"src="https://i.servimg.com/u/f62/18/97/96/21/images10.png"/> -->
<!-- BEGIN nav_tree -->{topics_list_box.row.TOPIC_NAV_TREE_NEW}<!-- END nav_tree -->
</dd>
<dd class="posts"><span>{topics_list_box.row.REPLIES}</span><dfn>{L_REPLIES}</dfn></dd>
<!-- on masque la colonne Vues <dd class="views"><span>{topics_list_box.row.VIEWS}</span><dfn>{L_VIEWS}</dfn></dd> -->
<dd class="lastpost">
<!-- BEGIN avatar -->
<span class="lastpost-avatar">{topics_list_box.row.topic.avatar.LAST_POST_AVATAR}</span>
<!-- END avatar -->
<div style="float:left;">
<span>{topics_list_box.row.LAST_POST_AUTHOR} <dfn>{L_LASTPOST}</dfn>
{topics_list_box.row.LAST_POST_IMG}<br style="clear:left;" />{topics_list_box.row.LAST_POST_TIME}</span>
</div>
</dd>
<!-- BEGIN multi_selection -->
<input onclick="javascript:check_uncheck_main_{topics_list_box.row.BOX_ID}();" type="checkbox" name="{topics_list_box.FIELDNAME}[]{topics_list_box.row.BOX_ID}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} />
<!-- END multi_selection -->
</dl>
</li>
<!-- END topic -->
<!-- BEGIN no_topics -->
<li class="row row1">
<dl>
<dt><strong>{topics_list_box.row.L_NO_TOPICS}</strong></dt>
</dl>
</li>
<!-- END no_topics -->
<!-- BEGIN bottom -->
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- END bottom -->
<!-- BEGIN spacer --><br /><!-- END spacer -->
<!-- END row -->
<!-- END topics_list_box -->
J'avais édité mon message .
Bref on va directement agir sur celui-ci, c'est bien plus simple :
Dans le template topics_list_box:
Affichage/Templates/Général/topics_list_box
Recherches ceci:
Supprimes et remplaces par:
Puis le script sur les sous forums:
C'est ce span ayant la class:
Le script va rechercher si c'est un message posté le jour même et si c'est le cas:
Masquer le span ayant la class:
Attention à bien laisser les deux balises dans l'ordre donné Serge.
Bref on va directement agir sur celui-ci, c'est bien plus simple :
Dans le template topics_list_box:
Affichage/Templates/Général/topics_list_box
Recherches ceci:
- Code:
{topics_list_box.row.LAST_POST_TIME}
Supprimes et remplaces par:
- Code:
<span class="M14_topics_list_box">{topics_list_box.row.LAST_POST_TIME}</span>
<span class="M14_topics_list_box_get"></span>
Puis le script sur les sous forums:
- Code:
$(function(){
$('.M14_topics_list_box').each(function(){
var $this=$(this);
var date=$this.text();
var r=/aujourd\D+(\d+):(\d{2})/i;
var a=r.exec(date);
if(a)
{
var d=new Date();
d.setHours(a[1]);
d.setMinutes(a[2]);
var ec=new Date(Date.now()-d);
console.log('Il y a '+ec.getUTCHours()+'H '+ec.getUTCMinutes()+'min');
$this.hide().next().text('Il y a '+ec.getUTCHours()+'H '+ec.getUTCMinutes()+'min');
}});});
C'est ce span ayant la class:
- Code:
M14_topics_list_box_get
Le script va rechercher si c'est un message posté le jour même et si c'est le cas:
Masquer le span ayant la class:
- Code:
M14_topics_list_box
Attention à bien laisser les deux balises dans l'ordre donné Serge.
Merci Philippe pour l'efficacité et la rapidité.
C'est en place et ça marche Philippe
Par contre, si cela est possible, j'aurais voulu gardé une présentation proche de ce qui a été fait hier.
C'est à dire garder l'affichage de la date et lheure, et ajouté à droite "il y a xx mn etc.", sur lequel si tu est passé sur mon forum, j'ai ajouté un fond ronge.
Sinon, je mettrais simplement un fond rouge sur les texte du jour.
C'est en place et ça marche Philippe
Par contre, si cela est possible, j'aurais voulu gardé une présentation proche de ce qui a été fait hier.
C'est à dire garder l'affichage de la date et lheure, et ajouté à droite "il y a xx mn etc.", sur lequel si tu est passé sur mon forum, j'ai ajouté un fond ronge.
Sinon, je mettrais simplement un fond rouge sur les texte du jour.
Merci Philippe, c'est bon
Je m'étais emmêlé les pinceaux :-)
Un autre truc si c'est possible sur le script précédent "Voir les derniers messages":
Tu as mis la class heure_exacte que j'utilise pour avoir un fond rouge.
Serait-il possible de garder ce fond rouge sur les message courants et retirer le fond rouge sur le message "Il y a plus d'une journée" que tu as défini dans le template ICI
Et mettre cette même classe sur ton dernier script sur les sous forums.
Je m'étais emmêlé les pinceaux :-)
Un autre truc si c'est possible sur le script précédent "Voir les derniers messages":
Tu as mis la class heure_exacte que j'utilise pour avoir un fond rouge.
Serait-il possible de garder ce fond rouge sur les message courants et retirer le fond rouge sur le message "Il y a plus d'une journée" que tu as défini dans le template ICI
Et mettre cette même classe sur ton dernier script sur les sous forums.
Re Serge,
je te donne un exemple alors ici:
Il na faut pas donner de background; il faut attribuer une class dans le script sur la condition:
Comme pour le script actuel:
Et tu fais la même chose pour les autres .
je te donne un exemple alors ici:
- Code:
<span class="M14_times">{searchresults.LAST_POST_TIME}</span>
<span class="heure_exacte" style="float:right;">Il y a plus d'une journée</span>
Il na faut pas donner de background; il faut attribuer une class dans le script sur la condition:
Comme pour le script actuel:
- Code:
$this.next().text('Il y a '+ec.getUTCHours()+'H '+ec.getUTCMinutes()+'min');
- Code:
$this.next().addClass('background').text('Il y a '+ec.getUTCHours()+'H '+ec.getUTCMinutes()+'min');
- Code:
.heure_exacte.background
{
background: #9e0b10;
}
Et tu fais la même chose pour les autres .
Page 2 sur 2 • 1, 2
Sujets similaires
» [PHPBB3] Temps écoulé sur derniers messages accueil
» [PHPBB3] Faire clignoter les images des nouveaux messages
» [PhpBB3] Supprimer les lignes Voir les nouveaux messages depuis votre dernière visite stc
» [TOUTES VERSIONS] Faire clignoter les images des nouveaux messages
» [PHPBB3]Afficher le nombre de sujets/messages sur les messages
» [PHPBB3] Faire clignoter les images des nouveaux messages
» [PhpBB3] Supprimer les lignes Voir les nouveaux messages depuis votre dernière visite stc
» [TOUTES VERSIONS] Faire clignoter les images des nouveaux messages
» [PHPBB3]Afficher le nombre de sujets/messages sur les messages
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum