Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Astuces ForumactifConnexion

EDGE/ PHPBB2 / PHPBB3/ PUNBB / INVISION/ MODERNBB/ AWESOMEBB

Le Deal du moment :
Pack Smartphone Samsung Galaxy S22 6.1″ + Galaxy ...
Voir le deal
599 €

descriptionIcône par defaut[BESTOF][PHPBB3] Nouveau message après édition

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

Sauriez vous s'il existe une astuce pour faire en sorte qu'après édition d'un sujet déjà lu, celui-ci apparaisse à nouveau comme "nouveau sujet" sans qu'il soit nécessaire d'écrire un message?
(Qu'on le retrouve donc dans les derniers sujets).

Merci pour votre aide.


Dernière édition par photoclic le Sam 24 Avr 2021 - 11:08, édité 2 fois

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Coucou Serge,
à part si l'auteur du sujet une fois édité répondre à son message,
les autres membres verront une notification Serge..

Sinon, je ne vois comment faire autrement !!!!

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Bonjour Philippe,

OK. Merci Pour ta réponse.

C'est un modérateur qui demandait cela et je souhaitais ton avis avant de lui répondre.

@ bientôt.

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
De rien Serge,

il a bien raison de le demander hinhin ,
je vais tout de tout de même étudier cela et si je trouve une solution,
je reviendrais vers toi à condition d'avoir toujours le premier message d'affiché ainsi que le tag d’édition comme ton premier message ici:

[BESTOF][PHPBB3] Nouveau message après édition 1291

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
@photoclic ,

coucou Serge,
alors bonne nouvelle, seul l'auteur du sujet verra un tag en dessous des phares d'édition:

[BESTOF][PHPBB3] Nouveau message après édition 1293

Pour cela, je voulais savoir si dans ton template on avait déjà entouré la variable suivant:

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

Recherches ceci:

Code:

{postrow.displayed.EDITED_MESSAGE}


Si la réponse est négative, remplaces par:

Code:

 <div class="M14_edition">{postrow.displayed.EDITED_MESSAGE}</div>


Si la réponse est positive, remplaces la class ou l'id dans le script ici:
.M14_edition

Code:

var str=$(this).find('.M14_edition').text();



Penses a enregistrer puis à valider en cliquant respectivement sur   Enregistr puis Ajout

Puis déposes ce script :



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

Mettre un titre explicite.

Cocher  Sur les sujets


Déposes ceci:

Code:


$(function(){
  if(!_userdata["session_logged_in"])return;
$('div[class*="post--"]:first').each(function(){
var auteurT=_userdata["username"];
var auteur=$(this).find('.postprofile dt a[href^="/u"]').text();
var link=$(this).find('h2.topic-title a[href^="/t"]').attr('href');
var str=$(this).find('.M14_edition').text();
var nom = str.match(/\(.+\)/);
var num = str.match(/\édité\s\d+/);
if(nom&&auteur===auteurT)
{
$(this).find('.M14_edition').after('<div id="M14_get_reply_edit"style="height:30px;line-height:30px;cursor:pointer;text-align:center;background:#666;color:#20aec8;">Envoyer un message pour '+nom+' '+num+' fois ?</div>');  
}
//LE TEXTE SALUTATION
var salut="Bonjour chers confréres, ";
// LE TEXTE D EDITION
var message ="je viens d'éditer mon message,";
  // LE TEXTE DE CLOTURE
var messagebis=" merci de cliquer sur le lien ci-dessous pour le visualiser";
// LE TEXTE DE CONFIRMATION
var confirfirst="Voulez vous envoyer un message pour ce complément informations ";
  // LE TEXTE D ANNULATION
var noconfirm="Action annulée!!";
$('#M14_get_reply_edit').click(function(){
if ( confirm(''+confirfirst+''+auteur+'?') )
{
$('#quick_reply textarea').val(''+salut+'\n'+message+'\n'+messagebis+'\n<a href="'+link+'"title="Voir le message initial">'+nom+'</a>\nCordialement \n'+auteur+'');
$('input[name="post"]').click();
}
else {alert(noconfirm);}
});});});


Penser a cliquer sur le bouton Valid


Pour que le script fonctionne,il faut ajouter une raison, si il n'y en pas, le script ne fera rien.
Ensuite modifies les textes dans les commentaires.
Le membre en cliquant sur sur le tag en dessous des textes d'édition aura un choix:

[BESTOF][PHPBB3] Nouveau message après édition 2111

Si clic sur Ok, alors on publie le message:

[BESTOF][PHPBB3] Nouveau message après édition 417

Si clic sur Annuler:

[BESTOF][PHPBB3] Nouveau message après édition 332

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Bonjour Philippe,

Vraiment sympa d'avoir repris ce sujet et d'avoir pris le temps de le traiter.

Tout fonctionne comme tu l'as décrit super


Une question, serait-il possible de faire fonctionner aussi ce script lorsqu'il s'agit non pas d'un forum, mais d'un blog?

Dans un blog, cette variable n'existe pas:

Code:

{postrow.displayed.EDITED_MESSAGE}

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Re coucou Serge,

alors oui effectivement il n'y a pas de template pour l'affichage d'un commentaire pour un blog et encore moins de variable!!!!!

On va donc rechercher l'édition du message du message (non commentaire) et on cumule avec l'autre script , ce qui donne:

Code:


$(function(){
  if(!_userdata["session_logged_in"])return;
$('div[class*="post--"]:first').each(function(){
var topicblog=$(this).find('.blog_cal-content').length;
if(topicblog)
{
var bloglink=$(this).find('h2.topic-title a[href^="/t"]').attr('href');
var blog=$(this).find('.postbody').text();
var blognom= blog.match(/\(.+\)/);
var blogedit= blog.match(/\Dernière\s\édition\s\par/);
var blognum = blog.match(/\édité\s\d+/);

}
var test=$(this).find('.M14_edition').length;
var auteurT=_userdata["username"];
var auteur=$(this).find('.postprofile dt a[href^="/u"]').text();
var link=$(this).find('h2.topic-title a[href^="/t"]').attr('href');
var str=$(this).find('.M14_edition').text();
var nom = str.match(/\(.+\)/);
var num = str.match(/\édité\s\d+/);
 
if(topicblog&&blogedit&&blognum&&auteur===auteurT)
{
$(this).find('.content').after('<div id="M14_get_reply_edit_blog"style="height:30px;line-height:30px;cursor:pointer;text-align:center;background:#666;color:#20aec8;">Envoyer un message pour '+blognom+' '+blognum+' fois ?</div>'); 
}
if(test&&nom&&auteur===auteurT)
{
$(this).find('.M14_edition').after('<div id="M14_get_reply_edit"style="height:30px;line-height:30px;cursor:pointer;text-align:center;background:#666;color:#20aec8;">Envoyer un message pour '+nom+' '+num+' fois ?</div>'); 
}
//LE TEXTE SALUTATION
var salut="Bonjour chers confréres, ";
// LE TEXTE D EDITION
var message ="je viens d'éditer mon message,";
  // LE TEXTE DE CLOTURE
var messagebis=" merci de cliquer sur le lien ci-dessous pour le visualiser";
// LE TEXTE DE CONFIRMATION
var confirfirst="Voulez vous envoyer un message pour ce complément informations ";
  // LE TEXTE D ANNULATION
var noconfirm="Action annulée!!";
$('#M14_get_reply_edit').click(function(){
if ( confirm(''+confirfirst+''+auteur+'?') )
{
$('#quick_reply textarea').val(''+salut+'\n'+message+'\n'+messagebis+'\n<a href="'+link+'"title="Voir le message initial">'+nom+'</a>\nCordialement \n'+auteur+'');
$('input[name="post"]').click();
}
else {alert(noconfirm);
}
  });
//POUR LES BLOGS
$('#M14_get_reply_edit_blog').click(function(){
if ( confirm(''+confirfirst+''+auteur+'?') )
{
$('#quick_reply textarea').val(''+salut+'\n'+message+'\n'+messagebis+'\n<a href="'+bloglink+'"title="Voir le message initial">'+blognom+'</a>\nCordialement \n'+auteur+'');
$('input[name="post"]').click();
}
else {alert(noconfirm);
}});});});


Résultat:

[BESTOF][PHPBB3] Nouveau message après édition 1294


descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Re Phil,

Un grand merci l'ami pour ce complément.

Testé et ça fonctionne parfaitement! tape la

Je testerai encore en fin de soirée avant de passer en résolu si tu veux bien.

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
@photoclic ,

Hello Serge,



Je testerai encore en fin de soirée avant de passer en résolu si tu veux bien.
pinaise, les soirées durent vachement longtemps dans ton coin MdR .



Alors tu vas rire MDR ,le template est présent pour les commentaires:

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

Recherches ceci:

Code:

{postrow.displayed.EDITED_MESSAGE}


Remplaces par:

Code:

<div class="M14_edition">{postrow.displayed.EDITED_MESSAGE}</div>


Le précédent script ne sera plus utile, il faudra utiliser le premier ici:
https://www.milouze14.com/t32991-phpbb3-nouveau-message-apres-edition#629606



descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
Bonjour Philippe,

Ma soirée se termine à l'instant MdR1

En fait j'avais un petit souci avec ton second code car il y avait sur le forum des titres de message extrêmement longs. Il fallait que j'ajoute ce style:

Code:

text-overflow: ellipsis; white-space: nowrap; overflow: hidden;

A cette ligne:

Code:

$(this).find('.M14_edition').after('<div id="M14_get_reply_edit"style="height:30px;line-height:30px;cursor:pointer;text-align:center;background:#666;color:#20aec8;text-overflow: ellipsis; white-space: nowrap; overflow: hidden;">Envoyer un message pour '+blognom+' '+blognum+' fois ?</div>');  


Je n'ai plus ce problème avec ton 1ier code.

C'est donc tout bon l'ami à présent.
Un grand merci pour tout ça Mercimill

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

more_horiz
lOL lOL


Hello


Sujet résolu et déplacé dans les BESTOF

A bientôt pour une prochaine demande clin oeil

descriptionIcône par defautRe: [BESTOF][PHPBB3] Nouveau message après édition

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