2devs.com : réalisation et développement multimédias
2devs.com : réalisation et développement multimédias2devs.com : réalisation et développement multimédias
22 novembre 2008
2devs.com  > Open source  > PHP

2devs.com - imprimer cet article  Un mod Rewriting simple pour Pn_zClassifieds sous postnuke
Publié le 23/03/2004, par Jean-Baptiste Alagnoux
2devs.com Lié à cet article :  http://www.technivore.info

 

réécriture des url Pnz sous Postnuke.

Ce script permet la réécriture des url Pnz sous Postnuke grace au module mod rewrite de apache.
En se basant sur la méthode d’url rewriting écrite pour sur le site de postnuke :

Voir le site de postnuke

Il est possible de la dériver pour qu’elle puisse fonctionner avec Pn_zClassified. L’ URL rewriting proposé dans cet article ne prend pas en charge la totalité de l’application, mais il n’est pas complexe de l’étendre.

ETAPE 1 :

Ouvrir le fichier « theme.php » dans la racine du thème courant.

Copier le code suivant au début du fichier (après les commentaires par ex) :

Bien entendus si vous avez déjà une routine de réécriture d’Url, rajoutez juste les lignes dans les tableaux IN et OUT.

ETAPE 2 :

Dans le fichier theme.php, trouvez la fonction : themeheader() Rajoutez ligne suivante au début de la fonction


Ob_start() ;

ETAPE 3 :

Dans le fichier theme.php, trouvez la fonction themefooter()Rajoutez les lignes suivantes à la fin de la fonction :


$contents = ob_get_contents(); // store buffer in $contents
ob_end_clean(); // delete output buffer and stop buffering
echo replace_for_mod_rewrite($contents); //display modified buffer to screen

ETAPE 4 :

Cette étape sert à verifier que les liens rencontrés seront bien les même que ceux du tableau IN de la fonction replace_for_mod_rewrite().

Pour cela, ouvrez les fichiers de Pn_zclassified se trouvant dans le répertoire modules de postnuke.

Dans ces fichiers, les liens sont écrits de la sorte :


modules.php?op=modload&name=PN_zClassifieds&file=detail&cat= &de=

afin que la function précédente fonctionne correctement, il faut juste ecrire les liens sous la forme :


modules.php?op=modload&name=PN_zClassifieds&file=detail&cat=&de=

Les principaux fichiers à modifier sont :

-  Index.php
-  Function.php
-  Categories.php
-  Admin.php
-  Adminnav.php

ETAPE 5 :

C’est la derniére étape, l’ecriture du fichier .htaccess pour apache :

Rajoutez les lignes suivantes au début du fichier :


Options +FollowSymlinks
#ErrorDocument 404 /error.php
RewriteEngine On
php_flag session.use_trans_sid off
AddType application/x-httpd-php php php4 php3 html htm

#Rewrite rules for Pn_zclassified
RewriteRule ^PN_zClassifieds([[1-9][0-9]*).* modules.php?op=modload&name=PN_zClassifieds&file=index&cat=$1
RewriteRule ^PN_zClassifieds-page([1-9][0-9]*)-([0-9][0-9]*).* modules.php?op=modload&name=PN_zClassifieds&file=index&cat=$1&page=$2
RewriteRule ^PN_zClassifieds_detail-([1-9][0-9]*)-([1-9][0-9][0-9]*).* modules.php?op=modload&name=PN_zClassifieds&file=detail&cat=$1&de=$2
RewriteRule ^PN_zClassifieds.* modules.php?op=modload&name=PN_zClassifieds&file=index
RewriteRule ^PN_zClassifieds_recent.* modules.php?op=modload&name=PN_zClassifieds&file=recent

Conclusion :

Cette méthode fonctionne pour avoir les fiches et catégorie au format html. Elle n’est sûrement pas la meilleure en terme d’écriture de code. Il est possible de faire un code plus synthétique avec les expressions régulières. Toutefois je l’utilise avec Autotheme, et cela ne pose pas de problèmes particuliers

Zip - 294 octets
AutoTheme-ShortURL
Hack pour Autotheme vers 0.5 et 0.6
Zip - 8.3 ko
AutoTheme-ShortURL 0.7
Hack pour autotheme 0.7

Si vous souhaitez approfondir la réécriture d’url pour postnuke
je vous conseille les liens suivants :

Aquanuke :
http://www.aquanuke.com/article358.html

La méthode postnuke.com :
http://news.postnuke.com

Le patch Sidean pour la réécriture automatique pour autotheme :
http://spidean.mckenzies.net

La réécriture pour Apache :
http://www.apachefrance.com

Le apache rewriting guide :
http://www.engelschall.com






2devs.com : A consulter...



2devs.com - Theme pour Coppermine 1.2.1 Theme pour Coppermine 1.2.1
Theme Las Vegas pour Coppermine photos gallery 1.2.1
par Jean-Baptiste Alagnoux

2devs.com - I-block member V2.9 I-block member V2.9
Traduction française de I-block member V2.9 disponible sur le site de PortalZine.de
par Jean-Baptiste Alagnoux

2devs.com - Traduction Française de Postcalendar 4.0.1  Traduction Française de Postcalendar 4.0.1
Application Postcalendar 4.0.1 traduite en français pour postnuke
par Jean-Baptiste Alagnoux

2devs.com - Topics module hack 1.4 pour Postnuke  Topics module hack 1.4 pour Postnuke
Traduction française du module Topics hacks 1.4
par Jean-Baptiste Alagnoux

2devs.com - Mod pour phpCollab 2.4 Mod pour phpCollab 2.4
un mod pour la notification
par Jean-Baptiste Alagnoux






SIRET : '41828681100017' - Code APE : '923A' - MDA : 'A718516'
2devs.com - réalisation et développement multimédia © www.2devs.com - 2006 2devs.com - réalisation et développement multimédia © www.2devs.com - 2006 2devs.com - réalisation et développement multimédia © www.2devs.com - 2006