Advanced Mod Rewriting Contenido 4.6.x
sorry - aus gesundheitlichen gründen kann ich mich sehr wahrscheinlich die nächsten 2 wochen nicht darum kümmern.
das anker problem an sich ist noch nicht wirklich gelöst, weil: die standard navigation nur die kategorien anzeigt. ein reiner anker link würde (wie du schon erfahren hast) nur die seite reloaden und dann zum punkt springen.
momentan ist die klasse ModRewrite in der datei classes/class.modrewrite.php noch nicht angepasst. Es müsste die Methode build_new_url () angepasst werden, dass die die # interpretiert und der neuen url korrekt anhängt. aber damit ist es nicht getan, da die 4.6.er automatisch und das mod rewrite generell ein base-href tag im head der seite setzt/verlangt - wenn man also ein #top setzen würde, würde sich das auf den basispfad im base-href beziehen und ebenfalls ein neu laden erzwingen.
wenn der komplette link in der url angegeben werden würde, könnte man zumindestens letztes problem lösen. aber wie gesagt: ich komme in den nächsten 2 wochen sehr wahrscheinlich nicht dazu in das forum zu schauen.
gruss stefan.
das anker problem an sich ist noch nicht wirklich gelöst, weil: die standard navigation nur die kategorien anzeigt. ein reiner anker link würde (wie du schon erfahren hast) nur die seite reloaden und dann zum punkt springen.
momentan ist die klasse ModRewrite in der datei classes/class.modrewrite.php noch nicht angepasst. Es müsste die Methode build_new_url () angepasst werden, dass die die # interpretiert und der neuen url korrekt anhängt. aber damit ist es nicht getan, da die 4.6.er automatisch und das mod rewrite generell ein base-href tag im head der seite setzt/verlangt - wenn man also ein #top setzen würde, würde sich das auf den basispfad im base-href beziehen und ebenfalls ein neu laden erzwingen.
wenn der komplette link in der url angegeben werden würde, könnte man zumindestens letztes problem lösen. aber wie gesagt: ich komme in den nächsten 2 wochen sehr wahrscheinlich nicht dazu in das forum zu schauen.
gruss stefan.
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
Hilfeee!!!
Ich hab bei mir das ModRewrite eingebaut aus der ZIP-Datei und seitdem hagelt es fehlermeldungen!
Hier die Fehlerliste:
Ich habe in den betreffenden Dateien erstmal die Zeilen notdürftig auskommentiert und den mod_rewrite abgeschaltet ($cfg['mod_rewrite']['use'] = 0;), da es anscheinend auch Probleme beim darstellen der "Ordner" gibt (404 fehler)...
ich habe contenido 4.6.4 installiert auf einem linux-server und mod_rewrite ist on in php....
weiss jemand rat?
Dirk
Ich hab bei mir das ModRewrite eingebaut aus der ZIP-Datei und seitdem hagelt es fehlermeldungen!
Hier die Fehlerliste:
Code: Alles auswählen
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 479
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 484
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 485
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 486
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 487
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 488
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 489
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/conlib/session.inc on line 128
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/meinedomain.com/httpdocs/1/contenido/includes/config.php:108) in /home/httpd/vhosts/meinedomain.com/httpdocs/1/cms/front_content.php on line 135
ich habe contenido 4.6.4 installiert auf einem linux-server und mod_rewrite ist on in php....
weiss jemand rat?
Dirk
hast du dir die fehlermeldung genau durchgelesen ?
-> output started at .../includes/config.php:108
d.h. die config.php muss mit ?> aufhören... kein leerzeichen oder linebreak darf danach zu finden sein...
-> output started at .../includes/config.php:108
d.h. die config.php muss mit ?> aufhören... kein leerzeichen oder linebreak darf danach zu finden sein...
*** make your own tools (wishlist :: thx)
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
*niederknieh*
Wie einfach die Ursache und wie schmerzhaft die Wirkung....
Danke für deine Hilfe emergence, das war wirklich der Grund...
Jetzt funktioniert auch das Mod_rewrite perfekt, bis auf eine Ausnahme: Die Umstellung der Sprachen.
Ich habe hierzu nicht die adittionalnavi verwendet sondern Flaggensymbole, welche bisher folgendermassen verlinkt waren:
Nachdem sie mit dem mod_rewrite nicht mehr funktioniert haben, habe ich sie umgestellt auf
Was aber genausowenig nützt.
Wie bekomme ich es jetzt hin dass auch noch die Sprachenumstellung funktioniert?
Gruss
Dirk
Wie einfach die Ursache und wie schmerzhaft die Wirkung....
Danke für deine Hilfe emergence, das war wirklich der Grund...
Jetzt funktioniert auch das Mod_rewrite perfekt, bis auf eine Ausnahme: Die Umstellung der Sprachen.
Ich habe hierzu nicht die adittionalnavi verwendet sondern Flaggensymbole, welche bisher folgendermassen verlinkt waren:
Code: Alles auswählen
front_content.php?changelang=1
Code: Alles auswählen
http://www.domain.de/content/sprache/
Wie bekomme ich es jetzt hin dass auch noch die Sprachenumstellung funktioniert?
Gruss
Dirk
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
schreibt mal bitte immer mindestens eine idcat oder idart mit in den link wo es hinweisen soll
sollte funktionieren, wenn die 1 eine kategorie ist, ddie einen startartikel hat.
Code: Alles auswählen
front_content.php?changelang=1&idcat=1
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
Hab ich jetzt mal probiert, habe mit allen variablen(idcat, idart, idcatart) herumexperimentiert, auch mit dem synchronisieren - erfolglos...
ohne mod_rewrite haben die umschaltflaggen immer funktioniert... was könnte noch der Grund sein?
Ich habe der einfachheit halber mal die "Flaggenzeile" hier:
ich bin jeweils ins artikelmenü gegangen und hab von der Startseitenkategorie die idcat genommen und in die links eingepflegt... trotzdem wird generell die deutsche Seite angezeigt, auch wenn nach Klick aufs fähnchen in der adresszeile steht ..../content/english
Gruss
Dirk
ohne mod_rewrite haben die umschaltflaggen immer funktioniert... was könnte noch der Grund sein?
Ich habe der einfachheit halber mal die "Flaggenzeile" hier:
Code: Alles auswählen
<a href="front_content.php?changelang=1&idcat=1"><img src="upload/languages/german-flag.gif" alt="Deutsch" height="14" width="21" border="0"></a> <a href="front_content.php?changelang=3&idcat=19"><img src="upload/languages/spain-flag-small.gif" alt="Español" height="14" width="21" border="0"></a> <a href="front_content.php?changelang=2&idcat=1"><img src="upload/languages/british-flag.gif" alt="English" height="14" width="21" border="0"></a>
Gruss
Dirk
ok, damit hätten wir das erste problem gelöst, dass er die url nicht korrekt umgewandelt hat.
nun schaue mal bitte in deine .htaccess ob die language namen auch genauso wie sie in der url auftauchen dort eingeschrieben sind (groß/kleinschreibung beachten!)
wenn das nicht funktioniert, dann nimm bitte einen garantiert als startartikel deklarierten artikel in die url (also z.b. content/english/welcome.html)
ich habe viele mehrsprachige websites im einsatz und bei mir gibt es dahingehend kein problem. ich kenne allerdings das 4.6.4er paket nicht, da ich es nicht angepasst habe, daher kann ich nicht für die funktionsweise garantieren. mir fehlt momentan auch leider die zeit, ein eigenes paket (mit einigen bugfixes) zu schnüren - job geht halt leider vor.
nun schaue mal bitte in deine .htaccess ob die language namen auch genauso wie sie in der url auftauchen dort eingeschrieben sind (groß/kleinschreibung beachten!)
wenn das nicht funktioniert, dann nimm bitte einen garantiert als startartikel deklarierten artikel in die url (also z.b. content/english/welcome.html)
ich habe viele mehrsprachige websites im einsatz und bei mir gibt es dahingehend kein problem. ich kenne allerdings das 4.6.4er paket nicht, da ich es nicht angepasst habe, daher kann ich nicht für die funktionsweise garantieren. mir fehlt momentan auch leider die zeit, ein eigenes paket (mit einigen bugfixes) zu schnüren - job geht halt leider vor.
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
-
- Beiträge: 424
- Registriert: Do 22. Jan 2004, 14:45
- Wohnort: Kölpinsee auf Usedom
- Kontaktdaten:
Hohoho...
hat das ganze schon jemand in die 4.6.4 lauffähig integriert?
Ich habe da ein kleines Problem. Die Änderungen von Stese habe ich manuell in die Dateien der Version 4.6.4 integriert und nachdem ich dann in der Config.php das Verzeichnis als beispiel auf "contenido46/cms/" gelegt und modrewrite aktiviert hatte sah leider die URL folgendermaßen aus "www.domain.de/contenido46/cms/contenido46/cms/home/".
Es wurde also das Verzeichnis "contenido46/cms/" zweimal hintereinander eingefügt.
gruß yodatortenboxer
PS: Frohe Weihnachten an alle
hat das ganze schon jemand in die 4.6.4 lauffähig integriert?
Ich habe da ein kleines Problem. Die Änderungen von Stese habe ich manuell in die Dateien der Version 4.6.4 integriert und nachdem ich dann in der Config.php das Verzeichnis als beispiel auf "contenido46/cms/" gelegt und modrewrite aktiviert hatte sah leider die URL folgendermaßen aus "www.domain.de/contenido46/cms/contenido46/cms/home/".
Es wurde also das Verzeichnis "contenido46/cms/" zweimal hintereinander eingefügt.
gruß yodatortenboxer
PS: Frohe Weihnachten an alle
Schöne Grüße von Usedom
Ralf
Ralf
-
- Beiträge: 25
- Registriert: So 30. Jan 2005, 08:00
- Kontaktdaten:
-
- Beiträge: 424
- Registriert: Do 22. Jan 2004, 14:45
- Wohnort: Kölpinsee auf Usedom
- Kontaktdaten:
Hohoho...
Ei perplex, du hattest recht. Ich hatte nur ein "contenido46/cms/" und es nun in "/contenido46/cms/", also mit den Slash davor, geändert. Dadurch war die doppelte anzeige von "www.domain.de/contenido46/cms/contenido46/cms/home/" wieder so wie es sein sollte "www.domain.de/contenido46/cms/home/".
Was so ein kleiner Slash alles bewirken kann...
Nun funktioniert alles soweit bis auf das wechseln der Sprachen, aber da werde ich das Modul dementsprechend wie oben beschrieben anpassen
Danke und ein Frohes Fest noch...
Gruß yodatortenboxer
Ei perplex, du hattest recht. Ich hatte nur ein "contenido46/cms/" und es nun in "/contenido46/cms/", also mit den Slash davor, geändert. Dadurch war die doppelte anzeige von "www.domain.de/contenido46/cms/contenido46/cms/home/" wieder so wie es sein sollte "www.domain.de/contenido46/cms/home/".
Was so ein kleiner Slash alles bewirken kann...
Nun funktioniert alles soweit bis auf das wechseln der Sprachen, aber da werde ich das Modul dementsprechend wie oben beschrieben anpassen
Danke und ein Frohes Fest noch...
Gruß yodatortenboxer
Zuletzt geändert von yodatortenboxer am Mo 16. Jan 2006, 13:04, insgesamt 2-mal geändert.
Schöne Grüße von Usedom
Ralf
Ralf
-
- Beiträge: 424
- Registriert: Do 22. Jan 2004, 14:45
- Wohnort: Kölpinsee auf Usedom
- Kontaktdaten:
Hohoho...
Ich habe die Hauptnavi bei mir in der Contenidoversion 4.6.4 von der idcat zur idcatart angepasst. Der Grund liegt darin dass ich wollte das die URL nicht nur www.domain.de/home/artikel/ sondern www.domain.de/home/artikel/artikelname.html heißt. Weil ich nun nicht auch noch das ganze Modul im Output umschreiben wollte habe ich es mit einer einfachen Funktion umgesetzt.
Dazu habe ich einfach in den Output des Hauptnavimodules vor der Zeile
folgende Funktion eingefügt
und dann überall die
durch die
ersetzt.
Funktioniert bei mir einwandfrei in der Contenidoversion 4.6.4 mehrsprachig.
Gruß yodatortenboxer
Ich habe die Hauptnavi bei mir in der Contenidoversion 4.6.4 von der idcat zur idcatart angepasst. Der Grund liegt darin dass ich wollte das die URL nicht nur www.domain.de/home/artikel/ sondern www.domain.de/home/artikel/artikelname.html heißt. Weil ich nun nicht auch noch das ganze Modul im Output umschreiben wollte habe ich es mit einer einfachen Funktion umgesetzt.
Dazu habe ich einfach in den Output des Hauptnavimodules vor der Zeile
Code: Alles auswählen
foreach ($navitems as $key => $data) {
/* 1. Navigation level */
if (checkCatPermission($data['idcatlang'],$data['public'])) {
Code: Alles auswählen
// Funktion zum umwandeln der idcat in idcatart
function navidcatart($idcat) {
global $navitems, $client, $lang, $cfg, $start_cat;
$db = new DB_Contenido;
$sql="SELECT
A.idcat,
A.idlang,
A.startidartlang,
B.idartlang,
B.idart,
C.idart,
C.idcatart
FROM
".$cfg["tab"]["cat_lang"]." AS A,
".$cfg["tab"]["art_lang"]." AS B,
".$cfg["tab"]["cat_art"]." AS C
WHERE
B.idartlang=A.startidartlang AND
C.idart=B.idart AND
A.idlang=".$lang." AND
A.idcat=".$idcat;
//echo $sql;
$db->query($sql);
while ( $db->next_record() ) {
$navidcatart=$db->f("idcatart");
}
return $navidcatart;
}
Code: Alles auswählen
front_content.php?idcat=".$data['idcat']."
Code: Alles auswählen
front_content.php?idcatart=".navidcatart($data['idcat'])."
Funktioniert bei mir einwandfrei in der Contenidoversion 4.6.4 mehrsprachig.
Gruß yodatortenboxer
Zuletzt geändert von yodatortenboxer am Mi 28. Dez 2005, 23:02, insgesamt 3-mal geändert.
Schöne Grüße von Usedom
Ralf
Ralf