smarty paginate rewrite

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


h4ni
WRInaute impliqué
WRInaute impliqué
 
Messages: 476
Inscription: Lun Juil 11, 2005 17:32

smarty paginate rewrite

Message le Ven Aoû 10, 2007 15:56

Bonjour
je cherche depuis 3 jours un moyen pour rewriter les liens de mes pages
j'utilise la classe smarty paginat de phpinsider
mais lien en bas de page sont afficher du genre index.php?next=10
j'ai fouiller tous le code de la la classe et de ma page index.php sans trouvé un lien sous cette forme que je peut modifier
si quelqu'un est deja passé par la merci de me repondre
salutations


pcamliti
WRInaute passionné
WRInaute passionné
 
Messages: 690
Inscription: Ven Mar 09, 2007 14:38

Message le Lun Aoû 13, 2007 14:31

Je suis dans le même cas, merci pour vos réponses

yogi13008
Nouveau WRInaute
 
Messages: 1
Inscription: Sam Mai 09, 2009 15:12

Re: smarty paginate rewrite

Message le Mer Oct 28, 2009 22:19

Salut,

Il faut aller trifouiller dans le code de paginate, j'ai eu le même problème que vous, je suis donc allé voir le code de génération d'un lien : il génère des lien du type url ? UrlVar = item

J'ai donc repris dans chaque function first, last... de paginate (dans les plugin) et j'ai mis un caractere qui correspond à mon rewrite : url - UrlVar - item

Deux manipulations :
- placer dans URL mon url que je vais réécrire (ex: forum-question) et choisir une variable a ajouter (ex: next)
Code: Tout sélectionner
SmartyPaginate::setURL("forum-question-"); // dernier "-" remplace le "?"
SmartyPaginate::setUrlVar("next");

- puis modifier dans toutes les fonctions de paginate (dans plugins)
Code: Tout sélectionner
       
if($_item != $_curr_item) {
            $_this_url = $_url;
            //$_this_url .= (strpos($_url, '?') === false) ? '?' : '&'; // Je commente la partie gerant les url du type url?...
            //$_this_url .= SmartyPaginate::getUrlVar($_id) . '=' . $_item; // Je commente et modifie le caractère separateur
            $_this_url .= SmartyPaginate::getUrlVar($_id) . '-' . $_item; //=> J'ai choisi "-" comme caractère de séparation
            $_ret .= $_link_prefix . '<a href="' . str_replace('&', '&amp;', $_this_url) . '"' . $_attrs . '>' . $_text .'</a>'.$_link_suffix;


Pour finir dans mon htaccess j'ai donc :
Code: Tout sélectionner
RewriteRule ^(forum-question)-next-([0-9])$   /index.php?page=forum&next=$2 [L]


Voila c'est une solution rapide, il serait possible de faire facilement une petite modification dans sa function pour prendre en compte les 2 systèmes, avec ou sans rewriting, mais je vous laisse le soin de le faire.

Si quelqu'un connais une autre solution ... je suis preneur!

A bientôt.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités