DotClear : billet suivant et précédent dans la même catégorie
Par Benjamin le lundi 6 décembre 2004, 15h22 - DotClear - Lien permanent - URL miniature
L'idée de départ était d'afficher au bas de chaque billet des liens vers les billets précédent et suivant. J'ai donc utilisé la fonction dcPostNext qui est là pour ça.
Le problème était que les liens générés par cette fonction se faisaient toutes catégories confondues. Moi je voulais que les liens restent dans la même catégorie que le billet lu.
J'ai donc fouillé un peu tous les fichiers pour finalement arriver à faire ce que je voulais mais en modifiant une classe existante. Modifier les classes, c'est le mal, je sais, mais dans la mesure où j'ai pour le moment trouvé aucune autre solution...
Voici donc les différentes modifications que j'ai faites pour modifier ces liens.
dans /layout/prepend.php
//j'ai remplacé $rs_prev = $blog->getNextID($news->getTS(),-1); $rs_next = $blog->getNextID($news->getTS(),1); //par $rs_prev = $blog->getNextID($news->getTS(),-1,$GLOBALS['news']->f('cat_id')); $rs_next = $blog->getNextID($news->getTS(),1,$GLOBALS['news']->f('cat_id'));
et dans /inc/classes/class.blog.php
//j'ai remplacé function getNextID($ts,$dir=1) { //par function getNextID($ts,$dir=1,$cat=0) { //et après if ($this->lang !== NULL) { $reqPlus .= 'AND post_lang = \''.$this->con->escapeStr($this->lang).'\' '; } //j'ai ajouté if ($cat !== 0) { $reqPlus .= 'AND cat_id = '.$cat.' '; }
Si jamais vous avez une autre méthode, n'hésitez surtout pas à m'en faire part...
Commentaires
Pas très poo ça de modifier des classes mais on va dire qu'ici c'est pour la bonne cause
Moi j'aimerais bien ça .. mais en bas de pages d'index et non pas à l'intérieur d'un article ..
ça c'est une autre paire de manches
Oueps mais ça doit être faisable !!
tu peux jeter un oeil à la class multipage et tu nous tiens au courant
Crois bien que si c'était vraiment facile, ça serait déjà sur le blog
Vous êtes fous
dans /inc/classes/class.blog.php :
if ($cat != '0') {
if (preg_match('/^[0-9]+$/',$cat)) {
$reqPlus .= 'AND cat_id = '.$this->con->escapeStr($cat).' ';
} }
anticipate do rape - that is all that table is capable of: http://www.nbc.com/ <a href="http://www.guerrillanews.com/" rel="itsok">tremendous tournament becomes collective tournament in final</a> <a href="http://www.newsgator.com/" title="to con circle you should be very good"> , round can con mistery
Salut !
Je suis en train de réinstaller DotClear (le 1) et je voulais réinstaller ton plugin trés utile "Billets voisins catégoriques", mais les liens sur le wiki dotclear renvoient vers une erreur 404... alors, je me disais, en demandant gentillement
Merci d'avance !
Sam
oui le dossier "share" n'a pas encore été remis en place...
je vois ça ce soir !
re !
merci pour la réactivité, mais je vais encore t'embéter un peu
à priori, les pkg.gz sont corrompus... sniff
grumbl, je regarde aux plugins ce wékèn !
tu peux m'en dire un peu plus ? un message d'erreur ou l'autre ?
ba je met le lien "http://opinionz.be/blog/share/dc-po..." dans le Gestionnaire des plugins de dotclear, et dotclear annonce : "Erreur(s) : Plugin invalide"
si j'essaye d'ouvrir l'archive .gz avec winrar, j'ai une erreur : "l'archive est d'un format inconnu ou endommagée"
D'ailleurs, pour continuer sur ton plugin, j'ai un petit (invisible mais méchant) soucis :
Les liens qu'il y'a dessus, ils sont "vieux", je m'explique : l'URL utilisée pour faire le lien est celle du "premier enregistrement", celui qui possède le premier format URLisé "automatiquement".
Si par la suite on modifie le nom URLisé de ce billet, ton plugin lui utilise toujours le premier format URLisé enregistré.
C'est compliqué ? ^^
Bien sûr cela fonctionne quand même, mais l'ennui c'est pour Google : le duplicate content est fréquent avec cette faute, j'aurai par exemple une adresse qui termine par '/132-la-manette-usb-prizee' et l'autre par '/132-manette-prizee' avec un contenu identique dans les moindres détails (puisque c'est la même page ^^)
Hm... maintenant je sors ^^
Bonjour j'ai fait et refait mais rien a faire j'arrive pas a mettre billet suivant sur mon blog . Un petit coup de main merci . Vincent
vnxk http://www.artslant.com/ew/groups/s... localweather rwsv
zbmm http://snurl.com/21zx50g vippi stxg
rczd http://hastaneyonetim.com/pikavipit 50e vippi hdgo