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

[PHPBB3]Widget Afficher les derniers messages d'un forum spécifique

2 participants

Aller en bas

Icône par defaut [PHPBB3]Widget Afficher les derniers messages d'un forum spécifique

Message par Milouze14 Dim 24 Fév 2019 - 7:58

Hello les ami(e)s,

l'astuce suivante vous permettra d'avoir un ou plusieurs Widgets pour afficher les derniers messages(sujets) d'un forum spécifique à l'identique d'un widget derniers sujets (ou presque).

Pour cela , il faudra paramétrer les permissions de chaque nouveau Widget que vous désirerez mettre en place.


On va juste faire une petite modification dans le template afin de bien cibler la date:

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

Recherchez ceci (ligne 121 environ):
Code:
{topics_list_box.row.LAST_POST_TIME}

Supprimez et remplacez par:
Code:
<span class="M14_date">{topics_list_box.row.LAST_POST_TIME}</span>


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


Pour la création de Widget:
https://forum.forumactif.com/t233284-installation-modification-de-widgets#2141122



Nom du widget :
Utiliser une table type : Oui
Titre du widget :" Donner un titre en relation avec le forum concerné"

Cliquez sur Enregistr

Le widget est créé.

On va donner les permissions sur le visu des sujets de ce dernier.
Afin d'éviter des soucis sur le visuel des sujets, je vous recommande de décocher la case "Invités"


[PHPBB3]Widget Afficher les derniers messages d'un forum spécifique  Widget10

[PHPBB3]Widget Afficher les derniers messages d'un forum spécifique  Widget11

Éditez le widget en cliquant sur le petit engrenage:

[PHPBB3]Widget Afficher les derniers messages d'un forum spécifique  Widget12




Je vous explique le fonctionnement du contenu a insérer dans le widget:

Pour le premier il faudra insérer cette div ayant la class:

Code:
M14_topics

Code:

<div class="M14_topics"></div>

Puis dans le script il faudra renseigner la section de la liste des sujets du forum concerné :
Code:
jQuery.get('/f2-presentations'

Puis le nombre que vous désirez afficher dans le widget:

Changer le nombre 10 ici par celui que vous désirez .
Code:
jQuery(data).find('dd.dterm:lt(10)').

En tenant compte du nombre de sujets a afficher doit être inférieur à ce qui est mentionné dans votre P.A:

Général/Messages et Emails/Configuration/Sujets

Nombre de sujets par page :

Voilà, c'est tout pour les explications.
Passons aux choses sérieuses.

Placez donc ce contenu en modifiant la section du forum concerné et le nombre de sujets à afficher.

Code:
<div class="M14_topics">
</div><script>
jQuery(function(){
jQuery.get('/f2-presentations' , function(data){
  // CHANGER LE NOMBRE ENTRE PARENTHESES
jQuery(data).find('dd.dterm:lt(10)').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).closest('dl').find('.lastpost a[href^="/t"]').attr('href');
var author=jQuery(this).closest('dl').find('.lastpost a[href^="/u"]').text();
var date=jQuery(this).closest('dl').find('.M14_date').text();
if(author)
{
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+'"> » '+texte+' </a> <span> par '+author+' '+date+'</span><br>');
}
else
{
jQuery('.M14_topics').append('<a class="topictitle"href="'+link+'"title="'+texte+'"> » '+texte+' </a>  <span>par invité '+date+'</span> <br>');    
}
});});});
</script>

Cliquez sur  Enregistr .

Un peu de style:


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

Déposez ceci:
Code:

/*Les sujets dans le widget*/
div[class^="M14_topics"]
{
color:black;  
  font-size:10px;
}
/*Les liens*/
div[class^="M14_topics"]  a.topictitle
{
font-size:10px;
width:190px;
overflow: hidden;
text-overflow: ellipsis;
 white-space: nowrap;
display: list-item;
text-decoration:none!important;
color:orange !important;
}
/*Le pseudo et la date*/
div[class^="M14_topics"]  span
{
font-style:italic;
font-size:10px;
}




Penser a cliquer sur le bouton Valid


Si vous désirez afficher d'autres widgets, il suffit de modifier la class et le script:
Exemple en ajoutant le chiffre 1:

Code:
<div class="M14_topics1">
</div><script>
jQuery(function(){
jQuery.get('/f2-presentations' , function(data){
  // CHANGER LE NOMBRE ENTRE PARENTHESES
jQuery(data).find('dd.dterm:lt(10)').each(function(){
var texte=jQuery(this).find('.topic-title-container a.topictitle').text();
var link=jQuery(this).closest('dl').find('.lastpost a[href^="/t"]').attr('href');
var author=jQuery(this).closest('dl').find('.lastpost a[href^="/u"]').text();
var date=jQuery(this).closest('dl').find('.M14_date').text();
if(author)
{
jQuery('.M14_topics1').append('<a class="topictitle"href="'+link+'"title="'+texte+'"> » '+texte+' </a> <span> par '+author+' '+date+'</span><br>');
}
else
{
jQuery('.M14_topics1').append('<a class="topictitle"href="'+link+'"title="'+texte+'"> » '+texte+' </a>  <span>par invité '+date+'</span> <br>');    
}
});});});
</script>




Dernière édition par Milouze14 le Mer 1 Déc 2021 - 4:08, édité 2 fois
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Widget Afficher les derniers messages d'un forum spécifique

Message par photoclic Mar 26 Fév 2019 - 16:31

Merci Philippe pour ce partage.
avatar
photoclic
Milouzien



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

Milouze14 aime ce message

Revenir en haut Aller en bas

Revenir en haut


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