regeneration de liens dynamique ".php" -> &quot

Nouveau WRInaute
Bonjour,

Je commence depuis peu à m'interesser à l'URL Rewriting et pour l'instant ça fonctionne mais j'ai une question concernant l'utilisation que l'on en fait par la suite : Nottament si on l'applique à un site de e-commerce. En effet, ça serait lourd de réecrire tous les liens du site, d'aller retaper dans tous les templates smarty et cie..

Donc je me demandais si quelqu'un avait déjà essayer de modifier son moteur de templates pour transfomer , à l'affichage, les liens "php" en liens "html". Ou encore de retaper dans le buffer php avant l'affichage..

Ca éviterais la lourdeur de l'opération et la dependance à l'URL Rewriting par la suite. De manière plus général, s'il y'avait une technique complementaire à l'URL Rewriting afin de palier à ce problème, je suis preneur :)

++
Matthieu
 
WRInaute occasionnel
Je ne connais pas trop les moteurs de templates mais ce qui est certain c'est que tu dois faire tes modifications dans le code qui créer les liens surement une fonction, éventuellement une classe. Sinon tu vas y passer 3 jours et si tu rajoutes un module faudra le modifier lui aussi.

Sinon une technique complémentaire à l'url rewriting, j'en connais pas. En mon sens l'url rewriting est une technique complète qui se suffit à elle même. Mais si je me trompe n'hésitez pas, ça m'interesse aussi.
 
WRInaute accro
un site de e-commerce est généralement géré en php. une fonction sert à créer le lien de l'article, donc il suffit de modifier une seule fois la création du lien.

dans le cas d un site 100% html : passe au php :)
 
Nouveau WRInaute
En fait, je travail déjà sous un systeme de e-commerce payant avec smarty pour moteur de template. Mais je ne vois pas ce qu'est la fonction commune de génération des liens; pour la page produit par exemple, il est clairement spécifié dedans le lien produit.php?id=516 or je n'ai pas tres envie d'aller partout et ecrire "produit-{$ref}.html". je prefererait utiliser un systeme de regle d'ecriture comme pour le .htacces mais appliqué au buffer php et qui remplace les liens .php en .html avant l'affichage.


J'ai une piste avec les filtres de pré-compiltion de smarty qui pourrait effectuer ce travail...
 
WRInaute accro
>> il est clairement spécifié dedans le lien produit.php?id=516

oui mais qui produit ce lien ? d'ou sort-il ?
 
Nouveau WRInaute
le template contient le lien "{$racine}/produit.php?id={$id}", et c'est smarty qui resoud les variable...le dynamisme s'arrete la :)

c'est pour ça que j'essaye de faire mon ereg_replace() juste avant la compilation des templates smarty
 
WRInaute accro
et bien avec un logiciel type dreamweaver, tu fais :

remplacer
"{$racine}/produit.php?id={$id}"
par
"{$racine}/produit,{$id},{$nom}.html"
dans
"tout le site"

et voilou
 
Nouveau WRInaute
C'est justement ce que je veux eviter de retaper dans tous les templates e-kiwi.

Bon, je vous tient au courant..merci :)

edit > e-kiwi : il n'y a pas que l'operation qui me gene mais aussi le resultat, d'une je ne travaille pas avec dreamweaver mais, tu me diras, zend studio fait pareil et , de deux, ça m'ennuie de modifier en dur (même rapidement :p) une bonne centaine de templates d'un coup.

C'est pour ça que faire un filtre de modification dynamique avant l'affichage me parrait plus interessant, s'il y'a des modifs ou un arret de l'url rewriting, j'ai juste à commenter une ou quelques lignes de code a la place de plein de fichiers :)

Bref, ça semble marcher, ça me plait, c'est cool :p

manuel smarty : http://www.lephpfacile.com/manual_smart ... ilters.php
 
WRInaute accro
non, tu n'a pas a le retapper dans tous les templates, relis bien mon message : 1 seule opération (environ 5 secondes). un rechercher / remplacer ne se fait pas obligatoirement dnas un seul fichier, tu peux choisir l integralité de ton disque dur si tu veux meme
 
Discussions similaires
Haut