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

[PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

5 participants

Aller en bas

Icône par defaut [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par Milouze14 Dim 24 Fév 2019 - 8:26

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 81 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"


[PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique Widget10

[PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique Widget11

Éditez le widget en cliquant sur le petit engrenage:

[PHPBB2]Widget Afficher les derniers message(sujets) 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('div.topictitle:lt(10)').each(function(){

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('div.topictitle:lt(10)').each(function(){
var texte=jQuery(this).find('a.topictitle').text();
var link=jQuery(this).closest('tr').find('.row3Right a[href^="/t"]').attr('href');
var author=jQuery(this).closest('tr').find('.row3Right a[href^="/u"]').text();
var date=jQuery(this).closest('tr').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;
  color:black;
  
}



Pensez à valider les modifications en cliquant sur le bouton Valider


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('div.topictitle:lt(10)').each(function(){
var texte=jQuery(this).find('a.topictitle').text();
var link=jQuery(this).closest('tr').find('.row3Right a[href^="/t"]').attr('href');
var author=jQuery(this).closest('tr').find('.row3Right a[href^="/u"]').text();
var date=jQuery(this).closest('tr').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>




Et voilou les ami(e)s hinhin .



Dernière édition par Milouze14 le Lun 29 Nov 2021 - 7:46, édité 3 fois (Raison : Correction norme saut de ligne, merci à Bipo)
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par Morane Dim 24 Fév 2019 - 9:24

Merci Phil  super
avatar
Morane
Milouzien



https://www.milouze14.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par Kaeyla Dim 10 Mar 2019 - 8:37

Merci Phil. pour ce superbe partage super
Kaeyla
Kaeyla
Milouzien



https://sweethome.forumactif.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par 1bernard1 Lun 11 Mar 2019 - 17:36

Astuce intéressante... Merci...malheureusement pour moi, je n'ai pas accès aux templates...
1bernard1
1bernard1
Milouzien



http://ze-bistro.forumactif.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par Bipo Sam 16 Mar 2019 - 22:34

Superbe astuce !

J'ai pu l'adapter, pour afficher les news d'une section sur l'accueil d'un forum :)

Par contre, on pourrait corriger ça :

Code:
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>

Modifier les balises br par br / Sinon, cela indique une erreur dans le script (sans conséquence).

Merci pour ce partage !
Bipo
Bipo
Milouzien



https://www.develforumactif.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB2]Widget Afficher les derniers message(sujets) d'un forum spécifique

Message par Milouze14 Dim 17 Mar 2019 - 6:05

Hello Bipo,
merci pour ta remontée, pourtant je suis le premier à le mentionner.........

C'est corrigé hinhin .
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Revenir en haut


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