Derniers sujets par catégorie

2 participants

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

Résolu Derniers sujets par catégorie

Message par Dr1zzt Dim 7 Juil 2013 - 21:41

Bonsoir à tous,

je voudrais afficher (en défilement vertical vers le haut) les 5 derniers sujets de la catégorie) dans la description de chaque catégorie de mes forums.

Cela fait un moment que je planche sur le sujet et j'ai bien trouver le widjet "dernier sujet" mais il ne correspond pas à ce que je cherche; j'ai trouvé aussi une possibilité par un flux rss auquel il faut s'abonner mais je n'aime pas l'idée d'autant plus que mes forums sont privés et puis ils ne permettent pas la sélection par catégorie dans ce que j'ai lu.


Merci pour l'aide que vous pourrez m'apporter.

bien à vous.


Dernière édition par Dr1zzt le Mer 17 Juil 2013 - 19:14, édité 1 fois
Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Mar 9 Juil 2013 - 14:28

Bonjour tout le monde!

qui aurait une idée quant à mon souhait?

je vous souhaite une bonne après midi.
Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Jeu 11 Juil 2013 - 14:32

Bonjour tout le monde!

arf! pas grand chose comme solution on dirait! Mince Mince Mince personne n'aurait une petite idée?
Passez une bonne après midi.
Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Sam 13 Juil 2013 - 13:09

Bonjour à tous,

qui aurait ne serait-ce qu'un petit brin de solution?
je suis en phpbb3 avec firefox.

je sais que je ne vous facilite pas la tâche mais j'apprécierais vraiment une solution.

passez une bonne journée et en tout cas Bonne fête demain.

Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Dim 14 Juil 2013 - 21:44

Bonsoir à tous.

Larf, on dirait qu'il y a du monde que mon post intéresse mais peut être que je me trompe.
cela dit, je voudrais vraiment... je sais il y a le widjet "derniers sujets" et aussi l'idée de flux rss.

bon le widjet ne m'est d'aucune utilité.

le flux rss peu t'il être réservé et lu uniquement par les membres dans la catégorie voulue? si oui, comment?
si non ben c'est pas grave vu qu'ici je demande juste une réponse ou mieux une solution.

Bonne fête à vous si vous êtes Gens de France.
Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par demeter1 Dim 14 Juil 2013 - 22:35

POssible en utilisant les flux rss.
Voici un script de Remy sharp qui devrait vous aider

Code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html  xmlns="http://www.w3.org/1999/xhtml" id="min-width" xml:lang="fr" lang="fr" dir="ltr"><head><title>Maonyn</title><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
/**
 * * author Remy Sharp
 * * url http://remysharp.com/tag/marquee
 * */
(function(k){k.fn.marquee=function(l){function h(f,b,c){var a=c.behavior,d=c.width,e=c.dir,g=0;return g="alternate"==a?1==f?b[c.widthAxis]-2*d:d:"slide"==a?-1==f?-1==e?b[c.widthAxis]:d:-1==e?b[c.widthAxis]-2*d:0:-1==f?b[c.widthAxis]:0}function m(){for(var f=i.length,b=null,c=null,a={},d=[],e=!1;f--;)b=i[f],c=k(b),a=c.data("marqueeState"),!0!==c.data("paused")?(b[a.axis]+=a.scrollamount*a.dir,e=-1==a.dir?b[a.axis]<=h(-1*a.dir,b,a):b[a.axis]>=h(-1*a.dir,b,a),"scroll"==a.behavior&&a.last==b[a.axis]||"alternate"==a.behavior&&e&&-1!=a.last||"slide"==a.behavior&&e&&-1!=a.last?("alternate"==a.behavior&&(a.dir*=-1),a.last=-1,c.trigger("stop"),a.loops--,0===a.loops?(b[a.axis]="slide"!=a.behavior?h(a.dir,b,a):h(-1*a.dir,b,a),c.trigger("end")):(d.push(b),c.trigger("start"),b[a.axis]=h(a.dir,b,a))):d.push(b),a.last=b[a.axis],c.data("marqueeState",a)):d.push(b);i=d;i.length&&setTimeout(m,25)}var i=[],n=this.length;this.each(function(f){var b=k(this),c=b.attr("width")||b.width(),a=b.attr("height")||b.height(),d=b.after("<div "+(l?'class="'+l+'" ':"")+'style="display: block-inline; width: '+c+"px; height: "+a+'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">'+b.html()+"</div></div>").next(),e=d.get(0),g=(b.attr("direction")||"left").toLowerCase(),j={dir:/down|right/.test(g)?-1:1,axis:/left|right/.test(g)?"scrollLeft":"scrollTop",widthAxis:/left|right/.test(g)?"scrollWidth":"scrollHeight",last:-1,loops:b.attr("loop")||-1,scrollamount:b.attr("scrollamount")||this.scrollAmount||2,behavior:(b.attr("behavior")||"scroll").toLowerCase(),width:/left|right/.test(g)?c:a};-1==b.attr("loop")&&"slide"==j.behavior&&(j.loops=1);b.remove();/left|right/.test(g)?d.find("> div").css("padding","0 "+c+"px"):d.find("> div").css("padding",a+"px 0");d.bind("stop",function(){d.data("paused",!0)}).bind("pause",function(){d.data("paused",!0)}).bind("start",function(){d.data("paused",!1)}).bind("unpause",function(){d.data("paused",!1)}).data("marqueeState",j);i.push(e);e[j.axis]=h(j.dir,e,j);d.trigger("start");f+1==n&&m()});return k(i)}})(jQuery);

$.ajaxSetup({"async":false});
$(function(){

  var xml=$.get("/feed/?f=33")responseXML.firstChild.firstChild;

  var feeddate= $("lastBuildDate", xml).text();
 
 if(window.localStorage && localStorage.getItem("feeddate"))
  {
    $("body").html(localStorage.getItem("feedcontent"));
    if(localStorage.getItem("feeddate")==feeddate) return;
  }
  
  var stack= "";

  $("item", xml).each(function(){
    stack+="» ";
    var title= $("title", this).text();
    var link= $("comments",this).text();
    var time= new Date($("pubDate",this).text());
    time= time.getDate()+"/"+(time.getMonth>9?"":"0")+time.getMonth()+"/"+time.getFullYear()+" à "+time.getHours()+"h"+(time.getMinutes()>9?"":"0")+time.getMinutes();
    if(title.length>20) title= title.substr(0,17)+"...";
   stack+='<a href="'+link+'">'+title+'</a><br><img src="http://2img.net/i/fa/m/icon_minitime1.gif" /> le '+time+'<br><br>';
  });

  stack='<marquee behavior="scroll" direction="up" scrollamount="2" height="400" width="350"><p>'+stack+'</p></marquee>';

  if(window.localStorage){
    localStorage.setItem("feeddate",feeddate);
    localStorage.setItem("feedcontent",stack);
  }

  $("body").html(stack);

  $("marquee").marquee().mouseover(function () {
   $(this).trigger('stop');
  }).mouseout(function () {
    $(this).trigger('start');
  }).mousemove(function (event) {
    if ($(this).data('drag') == true) {
      this.scrollTop = $(this).data('scrollY') + ($(this).data('y') - event.clientY);
    }
  }).mousedown(function (event) {
    $(this).data('drag', true).data('y', event.clientY).data('scrollY', this.scrollTop);
  }).mouseup(function () {
    $(this).data('drag', false);
  });

});
</script>
<style type="text/css">
body {
    margin: 0;
    padding: 0;
}
a { color: #338; }
</style>
</head><body></body></html>

A mettre sur une page html et à appeller par une iframe . Par exemple
       
Code:
<iframe src="lien de la page html" width="350" height="400" frameborder="0" allowtransparency="true"><iframe>

Pour modifier la section, il faut modifier cette partie        
Code:
$.get("/feed/?f=33")
et remplacer 33 par le numéro de la catégorie

Les autres modifications
Modifier le css ici
     
Code:
<style type="text/css">
        body {
            margin: 0;
            padding: 0;
        }
        a { color: #338; }
        </style>

( le body { ... } c'est pour retirer la marge par défaut d'une page html ( qui permet plus simplement de pas devoir calculer la marge en plus de la taille du marquee pour savoir la taille qu'on doit donner à l'iframe ) dans la ligne
   

On peut changer le 400 et 350 pour changer la hauteur et largeur du marquee ( qui devrait donc être la même que celle de l'iframe pour bien faire ).

Code:
stack='<marquee behavior="scroll" direction="up" scrollamount="2" height="400" width="350"><p>'+stack+'</p></marquee>';

Ceci c'est comment est affiché une date
   
Code:
   time= time.getDate()+"/"+(time.getMonth>9?"":"0")+time.getMonth()+"/"+time.getFullYear()+" à "+time.getHours()+"h"+(time.getMinutes()>9?"":"0")+time.getMinutes();

Ceci pour le nombre de caractéres du titre
Code:
if(title.length>20) title= title.substr(0,17)+"...";

ps : par contre, je préfère vous prévenir que la multiplication des iframes ralentira l'apparition de vos pages. Si vous avez beaucoup de catégories, cela risque d'augmenter d'une façon considérable le temps de chargement.
demeter1

demeter1
Membre actif

Masculin
Messages : 8993
Inscrit(e) le : 23/01/2009

https://altitudetropicale.forums-actifs.com/
demeter1 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Lun 15 Juil 2013 - 1:37

Bonsoir Demeter,

génial! j'essaie ça tantôt! c'est vraiment très gentil d'avoir pris le temps de répondre.
Merci beaucoup.

je vous tiens au courant et je n'en abuserai pas.

Bon repos.
Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par demeter1 Lun 15 Juil 2013 - 1:46

Pas de soucis.
demeter1

demeter1
Membre actif

Masculin
Messages : 8993
Inscrit(e) le : 23/01/2009

https://altitudetropicale.forums-actifs.com/
demeter1 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Derniers sujets par catégorie

Message par Dr1zzt Mer 17 Juil 2013 - 19:13

Bonsoir à tous,

la solution fonctionne très bien Very Happy  mais certains membres se plaignent du ralentissement considérable que cela a généré sur le forum.

j'ai donc opter pour reprendre simplement le widget de base.

Dommage. j'en rêvais depuis très longtemps et j'étais heureux de le mettre sur le forum. en tout cas, encore un tout tout grand merci.

Sujet Résolu

Dr1zzt

Dr1zzt
*

Messages : 31
Inscrit(e) le : 15/06/2013

http://lesptibilys.forumgratuit.be/
Dr1zzt a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


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