Page 1 of 1

Pretty URLs in News 2.6.1

Posted: Wed Feb 13, 2008 6:31 am
by mku
Hallo,
ich habe CMSms 1.2.3 mit dem News-Modul 2.6.1. auf einem LAMP-System installiert. Im CMS funktionieren Pretty URLs mit mod_rewrite wunderbar. Aber im News-Modul bekomme ich es nicht zum laufen. Momentan habe ich URLs in der Form /news/1/15.html. Ich hätte gerne URLs mit der Kategorie und dem Titel der News.

Ich habe schon die Rewrite-Rules hier aus dem Forum getestet. Kein Erfolg. Die Patches für das News-Modul beziehen sich wohl auf ältere Versionen. Das Patchen schlägt fehl.

Hat das jemand erfolgreich am laufen?

Mirko

Re: Pretty URLs in News 2.6.1

Posted: Wed Feb 13, 2008 4:02 pm
by cyberman
Wäre hilfreich, wenn du posten könntest, was genau du bereits versucht hast ...

Zum Beispiel gibts da hier eine relativ aktuelle Diskussion

http://forum.cmsmadesimple.org/index.ph ... icseen#new

Re: Pretty URLs in News 2.6.1

Posted: Wed Feb 13, 2008 7:16 pm
by mku
Aktuell habe ich die Hinweise aus #22 der von dir genannten Diskussion implementiert. Das produziert auch URLs in der genannten Form. Allerdings führen die alle zur Startseite der Domain.

Mirko

Re: Pretty URLs in News 2.6.1

Posted: Wed Feb 13, 2008 9:54 pm
by NaN
Hast Du den Beitrag auch genau gelesen?
#22 war noch nicht die Lösung.
Versuch mal den Code von Beitrag #29 (der von fritzfs).

Re: Pretty URLs in News 2.6.1

Posted: Wed Feb 13, 2008 9:58 pm
by cyberman
Mit welchen Parametern hast du das News-Modul aufgerufen?

Re: Pretty URLs in News 2.6.1

Posted: Thu Feb 14, 2008 6:18 am
by mku
Sorry, hatte mich in der Nummer geirrt. Ich habe den Code aus #29 genommen.

Das Modul rufe ich mit

{news number='3' detailpage='news'}

auf.

Mirko

Re: Pretty URLs in News 2.6.1

Posted: Thu Feb 14, 2008 6:45 pm
by mku
Ich habe mir das jetzt mal in Ruhe angesehen. Das Problem sind wohl Sonderzeichen im Titel der News. Diese werden im Modul nicht gegen - ersetzt. Dadurch greift die RewriteRule dann nicht.

Ich habe jetzt folgenden Code in modules/News/action.default.php ab Zeile 312 eingebaut

Code: Select all

    $prettyurl = 'news/'. $onerow->title .'/'. $row['news_id'].'/'.($detailpage!=''?$detailpage:$returnid);

    $prettyurl = utf8_decode($prettyurl);
    $prettyurl = str_replace('ä', 'ae', $prettyurl);
    $prettyurl = str_replace('A', 'Ae', $prettyurl);
    $prettyurl = str_replace('ö', 'öe', $prettyurl);
    $prettyurl = str_replace('Ö', 'Öe', $prettyurl);
    $prettyurl = str_replace('ü', 'ue', $prettyurl);
    $prettyurl = str_replace('Ü', 'Ue', $prettyurl);
    $prettyurl = str_replace('ß', 'ss', $prettyurl);
    $prettyurl = utf8_encode($prettyurl);
    $prettyurl = preg_replace("/[^A-Za-z0-9\/]/","-", $prettyurl);
Damit funktioniert es nun. Geht das auch eleganter?

Mirko

Re: Pretty URLs in News 2.6.1

Posted: Sat Feb 16, 2008 7:48 pm
by NaN
mku wrote:
Geht das auch eleganter?
An der Änderung am Quelltext wirst Du wohl nicht vorbeikommen.
Allerdings gibt es für solche Zwecke bereits fertige PHP-Funktionen:

$prettyurl = htmlentities($prettyurl );