Forum CMS Made Simple FR

Version complète : Pretty url ok sauf dans les modules :(
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

lp735

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.7.x
#~ Url du site :
#~ Hébergeur / Soft : OVH / Apache
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

[Message posté dans le forum "modules", je pense qu'il a plus sa place ici le pb n'étant pas lié à un module spécifique. Je ne sais pas déplacer mon topic dsl]

Bonjour à tous,
J'utilse les modules cgcalendar et news pour publier des événements et des articles qui font vivre le site "statique".
J'ai activé les pretty url. Aucun pb pour la partie site statique mais sur les modules news et cgcalendar mes liens restent affreux.
Savez-vous si je dois activer les pretty url dans ces modules et le cas échéant où ? (j'ai cherché en vain!)
Dois-je modifier moi-même la structure de mes liens ?
Je veux bien mais comment réécrire mes titres ?
Il y a surement une solution très simple mais je ne trouve pas

Merci à ceux qui pourront m'éclairer !

Ci-dessous le code .htaccess actuel :
Citation :SetEnv PHP_VER 5
# Attempt to override some php settings, these settings may be helpful on some hosts if your
# default configuration does not meet CMS's minimum requirements, and your host
# has given your account appropriate permissions
#php_value upload_max_filesize "10M"
#php_value session_save_path "tmp/cache"

#php_flag magic_quotes_gpc Off
#php_flag register_globals Off
#php_flag session.use_trans_sid Off

# (this is important, so uncomment if your host permit)
#Options -Indexes
#ServerSignature Off
#
Options +FollowSymLinks
#
<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /cmsms
RewriteBase /

RewriteRule ^blog/([0-9]*)/([0-9]*)/(.*).html$ index.php?mact=News,cntnt01,detail,0&cntnt01articleid=$1&cntnt01returnid=$2 [NC,L]
RewriteRule ^agenda/([0-9]*)/([0-9]*)/(.*).html$ index.php?mact=CGCalendar,cntnt01,default,0&cntnt01event_id=$1&cntnt01display=event&cntnt01returnid=$2 [NC,L]
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# but ignore POST requests.
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.
#RewriteCond %{REQUEST_METHOD} !POST$
#RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]


# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>

et le config.php :
Code :
#------------
#URL Settings
#------------

#What type of URL rewriting should we be using for pretty URLs?  Valid options are:
#'none', 'internal', and 'mod_rewrite'.  'internal' will not work with IIS some CGI
#configurations. 'mod_rewrite' requires proper apache configuration, a valid
#.htaccess file and most likely {metadata} in your page templates.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
$config['url_rewriting'] = 'mod_rewrite';

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.html';

#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy?  (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = false;

#If using none of the above options, what should we be using for the query string
#variable?  (ex. http://www.mysite.com/index.php

D'avance merci, je me prend la tete depuis trop longtemps, j'ai même essayé de tout réécrire à la main dans les template de news et calendar :/
oulala mon ami ... 1.7.x, c'est vieux tout ca...

je t'invites à te mettre à jour avant d'aller plus loin pour 3 raisons :

ton site intègre une faille de sécurité
les dernières versions apporteront beaucoup de bonnes fonctionnalités
avec la dernière version de cmsms tu pourras avoir les dernières version de news & cgcalendar, et il est possible que celles ci adoptes le pretty url justement Smile

3 bonnes raisons pour suivre le guide que jce à rédigé : http://www.cmsmadesimple.fr/forum/viewtopic.php?id=558
tiens pour exemple de ce que je fait avec le module blog :

http://www.cmsmadesimple.fr/blog/35/93/D...olontariat Smile

lp735

Ok bess, je commence par la maj avant toute chose Smile
Pour tes url de blog oui c'est exactement ça que je cherche à faire.
Ca se fait "tout seul" ou tu as changé la structure des liens dans le template ?

Je reviens dans quelques minutes après avoir suivi ton tuto (merci d'ailleurs!)
A tout de suite

lp735

Mise à jour effectuée.
Les url des news (blog) sont passées toutes seules en mode "pretty" Smile
parfait !

Par contre, j'ai perdu mon module CGcalendar... Sad
Il doit pas etre compatible... je suis un peu emmerdé, je vais voir si je peux le réinstaller.

lp735

Ok ! Réinstallé CGExtension, CGCalendar et Comments (pour les articles)

Côté CGCalendar, mes liens sont toujours horribles.
J'en déduis que les pretty urls ne sont pas implémentées sur ce module ?
Comment puis-je travailler mon url ?
Je peux facilement réécrire mon url de la manière suivante :
Code :
agenda/{$event.event_id}/15/{$event.event_title}.html">{$event.event_title}

Mais j'aimerais bien passer mon {$event.event_title} à la "moulinette" pour en faire une "pretty url" Wink
Je suis pas un pro de Smarty, ya une fonction pour faire ça ou je peux en faire une moi-même ?
Comment l'appeller ?
Je sais que je peux faire {php}...{/php} mais comment récupérer mon {$event.event_title} dans mes tags php ?

Merci à qui essayera de m'orienter Smile
Et merci bess pour le tuto maj, déjà ça a corrigé le souci similaire pour mon blog Smile

lp735

bess a écrit :tiens pour exemple de ce que je fait avec le module blog :

http://www.cmsmadesimple.fr/blog/35/93/D...olontariat Smile

Si tu peux m'indiquer comment tu as changé le /news/ en /blog/ ça m'interesse.
J'ai retouché News.module.php (en changeant news/ par blog/ aux lignes 349 et 402) mais ça n'a rien changé.

Dsl de faire le boulet Tongue
Bonsoir,

Il me semble que le module du site est CGBlog et non News (Articles). Dans CGBlog tu as un paramètre où tu renseignes le "répertoire" à utiliser pour les Pretty urls.

En tout cas, mieux vaut ne pas modifier les fichiers Php du module, sinon tu sera embêté à la prochaine mise à jour !