stese hat geschrieben:Edanis hat geschrieben:Aber wie ist es in 4.5.x, ist etwas vorgesehen worden um Folgeartikel anzusprechen und GET Parameter zu übermitteln, ich möchte ungern das Rad nochmal erfinden.
Irgendwie verstehe ich den Satz nicht. Meine Erweiterung erkennt alle Parameter die nicht zu Contenido direkt gehören, um die URL aufzulösen. Alle diese gefundenen Parameter die per GET an der URL in deinen Modulen angefügt werden, werden ebenfalls automatisch in die ModRewrite URLs übernommen (egal ob 4.4.4 oder 4.5.x, da das Versionsunabhängig in meinen Functions bzw der ModRewrite Klasse geschieht).
Diesmal meine ich nicht Deine Erweiterung, die ist von Grund aus artikelfähig, sondern ob die Standartunterstützung die in 4.5.x eingebaut wurde auch Folgeartikel ünterstützt. Das was ich bisher gesehen habe scheint nur Kategorienamen auflösen und demnach nur Startartikel auffinden zu können. Ob ich es richtig gesehen habe ist meine Frage
Zum Verdeutlichen. Für modrewrite ist die Bibliothek
functions.pathresolver.php vorgesehen, die beiden ersten Funktionen
prResolvePathViaURLNames und
prResolvePathViaCategoryNames lösen den durch die dritte Funktion
prCreateURLNameLocationString aufgebauten Pfad auf. Und diese erwartet die Artikelangabe in keiner Form. Zum Testen setze ich einfach im Frontendscript
cms/front_content.php dieses Code (irgendwo um die Zeile 360):
Code: Alles auswählen
echo "<hr>";
echo "<hr>";
$cat_str = "";
prCreateURLNameLocationString($idcat, "/", $cat_str, true, "", 0, 0, true, true);
echo "?path=$cat_str";
echo "<hr>";
Wenn ich nun zB in Punkt 1.2 navigiere bekome ich '?path=Hauptnavigation/Punkt-1/Punkt-1.2' oben auf der Seite ausgegeben. Wenn ich in eins der Newsnachrichten gehe bekomme ich folgendes '?path=News'.
Navigiere ich nun auf die Startseite und hänge an front_content.php eine der obigen ausgaben, zB so
Code: Alles auswählen
http://localhost/contenido-4.5.3/cms/front_content.php?path=Hauptnavigation/Punkt-1/Punkt-1.2
spring der Script zum Punkt 1.2 hinein. Auf
Code: Alles auswählen
http://localhost/contenido-4.5.3/cms/front_content.php?path=News
reagiert er mit dem Newsletterartikel (
http://localhost/contenido-4.5.3/cms/fr ... Newsletter) aber das ist wahrscheinlich wegen falscher Webnamenauswahl für Kategorien.
Nun kann ich die folgende .htacess schreiben (ein Alpha, bitte testen)
Code: Alles auswählen
#
# File E:\Projekte\WebSeiten\LocalWeb\contenido-4.5.3\.htaccess
# URL http://localhost/contenido-4.5.3/.htaccess
#
RewriteEngine On
RewriteBase /contenido-4.5.3/
RewriteRule ^cms/index.html$ cms/front_content.php [L]
RewriteRule ^cms/(.*)/index.html$ cms/front_content.php?path=$1 [L]
Gebe ich nun die Adresse
Code: Alles auswählen
http://localhost/contenido-4.5.3/cms/Hauptnavigation/Punkt-1/Punkt-1.2/index.html
hängt der Apache alles was zwischen
cms/ und
/index.html als
?path=.... an, es wird also nach
Code: Alles auswählen
http://localhost/contenido-4.5.3/cms/front_content.php?path=Hauptnavigation/Punkt-1/Punkt-1.2
umgeleitet.
Nur, wie spreche ich aber Artikel einer Kategorie an, die keine Startartikel sind wenn die Artikelangabe nicht interpretiert wird? Einfach mit ?idart anzuhängen würde genau das zerstören was modrewrite reparieren soll - Googlefreundlichkeit. Deshalb meine Frage ob ich irgendwas übersehen habe.
Gruss, Edward