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

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


4 participants

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

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 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)
Anonymous
Invité
Invité

MessageInvité Dim 24 Fév 2019 - 9:24

Merci Phil  super
Kaeyla
Kaeyla
https://sweethome.forumactif.com

MessageKaeyla Dim 10 Mar 2019 - 8:37

Merci Phil. pour ce superbe partage super
1bernard1
1bernard1
http://ze-bistro.forumactif.com/

Message1bernard1 Lun 11 Mar 2019 - 17:36

Astuce intéressante... Merci...malheureusement pour moi, je n'ai pas accès aux templates...
Bipo
Bipo
https://www.develforumactif.com/

MessageBipo 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 !
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 17 Mar 2019 - 6:05

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

C'est corrigé hinhin .

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