Neuen Seite mit neuer Sprache im Frontend anzeigen lassen???

Gesperrt
ClemensNewbie
Beiträge: 33
Registriert: Di 6. Sep 2005, 08:59
Kontaktdaten:

Neuen Seite mit neuer Sprache im Frontend anzeigen lassen???

Beitrag von ClemensNewbie »

Hallo!

Hoffe ihr könnt mir helfen CMS 4.6.15?

Habe meinen deutschen Mandanten ins Englische syncronisiert. Alle Artikel und Kategorien sind erfolgreich kopiert worden. Die Layouts habe ich ebenfalls auf Englisch angelegt. Mein Problem ist wenn ich mir die Website über den Browser im Frontend anzeigen lasse d.h. die neue Sprache Englisch
.......?changelang=2 zeigt er mir die Seite richtig an, aber wenn ich aufs menu gehe springt er in die deutsche seite?

Was muss da eventuell konfiguriert werden. Habe gehört man muss da in eine php datei den namen der sprache a inklusive der changelang nummer angeben? Meine Seite nutzt die Scripte der Beispielseite inclusive Menu!

Danke für Eure Hilfe

Clemens
wosch

Re: Neuen Seite mit neuer Sprache im Frontend anzeigen lasse

Beitrag von wosch »

ClemensNewbie hat geschrieben:Mein Problem ist wenn ich mir die Website über den Browser im Frontend anzeigen lasse d.h. die neue Sprache Englisch
.......?changelang=2 zeigt er mir die Seite richtig an, aber wenn ich aufs menu gehe springt er in die deutsche seite?
Das liegt daran das Contenido LEIDER in der URL die Sprache nicht mit gibt sondern alles über diese verdammten Cookies macht.

Wenn in deinem Browser/Firewall Permanent-Cookies abgeschaltet sind funktionieren die anderen Sprachen nicht sauber.

Thats is it - warten bis endlich mal nicht nur geredet wird über Entwicklung, Theorie und DB-Layer, sondern mal pragmatisch eine Weiterentwicklung erfolgt die sich an den Internetgegebenheiten orientiert.

Ersatzweise die MR-Version verwenden, da sollte, über die entsprechenden Vorgaben

Code: Alles auswählen

* is multilanguage? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language'] = 0;

/* use language name in url? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language_name'] = 0;
die Sprache in der URL mitgegeben werden (nur theoretisch - nicht selber ausprobiert)
ClemensNewbie
Beiträge: 33
Registriert: Di 6. Sep 2005, 08:59
Kontaktdaten:

Beitrag von ClemensNewbie »

in früheren versionen hat das aber noch funktioniert? hat man mir erzählt? gibt es da wirklich keine lösung?
holger.librenz_4fb

Beitrag von holger.librenz_4fb »

Moin.

Die Sprache wird wirklich in Cookies gesichert. Allerdings kann es auch an der Navi liegen. Welches Navi-Modul nutzt Du? Kann es evtl. sein das es mit idartlang statt idart und idcat arbeitet? Die idartlang ist eine Altlast und referenziert auf eine Artikelzuordnung in der die Sprache mit einbezogen ist. Wenn nur ein Mandant und eine Sprache existiert ist idartlang meist identisch mit idart, das ändert sich allerdings sobald mehrere Sprachen existieren!
Als temporärer Workaround wäre eine Lösung möglich, die bei fehlender Cookie-Unterstützung die Sprache immer mit in die URL packt.

Vielleicht hilft das weiter?

So long.
Holger
wosch

Beitrag von wosch »

holger.librenz_4fb hat geschrieben:Allerdings kann es auch an der Navi liegen. Welches Navi-Modul nutzt Du?
Steht doch da ...
ClemensNewbie hat geschrieben:Meine Seite nutzt die Scripte der Beispielseite inclusive Menu!
holger.librenz_4fb hat geschrieben:Als temporärer Workaround wäre eine Lösung möglich, die bei fehlender Cookie-Unterstützung die Sprache immer mit in die URL packt.
Wie sieht dieser Workaround aus und wie läßt der sich realisieren?
Ist der nach einem Update noch vorhanden?
Bis wann ist dieser Workaround (oder eine andere Lösung) in einer neuen Contenido-Version standardmässig enthalten?
holger.librenz_4fb

Beitrag von holger.librenz_4fb »

wosch hat geschrieben:Steht doch da ...
ClemensNewbie hat geschrieben:Meine Seite nutzt die Scripte der Beispielseite inclusive Menu!
Sorry, war noch früh am morgen und vor allem vor dem ersten Kaffee. Hatte ich überlesen.

Einfachste Lösung wäre die Session-ID bei bekannten Problemen immer mit in die URL zu hängen. Ansonsten einfach mal im Web suchen nach Cookie-Test. Beispiel: Es wird ein Modul entwickelt, was keinen Output hat und in jedem Layout an den Anfang der Seite integriert wird. In diesem Modul wird ein String in die Session geschrieben. Ist dieser nach dem Laden nicht mehr da, wird immer eine neue SID generiert, sprich der Nutzer hat keine Cookies aktiv. Dann kann entweder das Navi-Modul andere Links generieren oder eben nur in diesem Fall die SID mit an die URL gehängt werden.
Und da das alles Modul-Lösungen wären, würde dies auch ein Update überdauern. Wenn der Workaround in den Contenido-Sourcen gemacht wird, müsste natürlich bei jedem Update darauf geachtet werden, das die Änderungen nicht überschrieben werden.

Gruß, Holger
ClemensNewbie
Beiträge: 33
Registriert: Di 6. Sep 2005, 08:59
Kontaktdaten:

Beitrag von ClemensNewbie »

Hallo! Danke schon mal für Eure Hilfe! Ich nutze wie bereits erwähnt die Navigation der Beispielseite!

Leider habe ich jetzt massive Probleme dieses Projekt fertig zu bekommen, weil es diesen Fehler in Contenido gibt. Brauche Eure Hilfe, kann man das umgehen? Das mit den idcat usw. habe ich auch noch nicht so richtig begriffen?

Es tritt zum Beispiel folgendes auf.

Deutsche Seite: ..../front_content.php?idcat=2

Englische Seite: ..../front_content.php?idcat=2?changelang=2

Wenn ich jetzt die selben Seiten z.b. deutsche website aufrufe (frontend) läd der Browser immer wieder die alte website deutsch? das ist doch das problem was ihr meint (cookies)?

ich habe im backend bei den artikel editierungen mal im view fenster das englische menu durchgeklickt. das cms bleibt im englischen bereich. warum geht das nicht im frontend? warum kann man nicht zwischen den deutschen und englischen seiten wechseln?

ich brauch da jetzt mal hilfe für anfänger! bitte wer eine lösung hat meldet euch!

vielen dank an alle die schon mal versucht haben zu helfen!
wosch

Beitrag von wosch »

ClemensNewbie hat geschrieben:ich habe im backend bei den artikel editierungen mal im view fenster das englische menu durchgeklickt. das cms bleibt im englischen bereich. warum geht das nicht im frontend? warum kann man nicht zwischen den deutschen und englischen seiten wechseln?
Weil das Backend mit Session-Cookies arbeitet und nicht mit den idiotischen permanent Cookies.
ClemensNewbie hat geschrieben:bitte wer eine lösung hat meldet euch
Es gibt dafür keine Lösung!
Außer auf der Webseite zu schreiben:
Wer andere Sprachen lesen will muß permanent Cookies akzeptieren.

Du kannst die Lösung mit der 4.6.15 MR-Version mal ausprobieren, da müßte es gehen.
Infos dazu findest du hier:
http://www.contenido.de/forum/viewtopic.php?t=11162


Übrigens, @holger.librenz_4fb,
weißt du eigentlich das man Contenido-Seiten in anderen Sprachen als der Startsprache nicht bookmarken kann?
Man kann nämlich die Cookies für die Sprache nicht mit bookmarken.
Aber das interessiert sichen keinen der Contenido-Entwickler, lieber in temporären Regionen abstrakter Datenbanklayer schwelgen als mal pragmatisch ein System weiterentwickeln.
(Sagt ein Anwender, der nur wenig entwickelt, sich aber jeden Tag mit den unzulänglichkeiten von Contenido rumärgern darf, aber "Kunden des CMS" braucht man ja nicht ernst zu nehmen)
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Also es gibt wirklich eine super Möglichkeit, das Cookie-Problem zu umgehen und die hat wosch schon genannt: mod_rewrite.

Alternativ kann man in der "conlib/local.php" in der Klasse "Contenido_Frontend_Session extends Session" den Fallback-Mode ändern, denke ich:

Code: Alles auswählen

  var $fallback_mode  = "get"; // "get" statt "cookie"
Dann müssen aber alle durch Module erzeugten URLs durch

Code: Alles auswählen

$sess->url()
erzeugt werden.
ClemensNewbie
Beiträge: 33
Registriert: Di 6. Sep 2005, 08:59
Kontaktdaten:

Beitrag von ClemensNewbie »

vielen dank! ich werd das gleich versuchen - hoffe es geht gut :)!

Ihr seid spitze!
ClemensNewbie
Beiträge: 33
Registriert: Di 6. Sep 2005, 08:59
Kontaktdaten:

Beitrag von ClemensNewbie »

könntest du mir bitte diesen punkt noch etwas genauer erläutern?
welche module betrifft das? ich benutze alle moduleder beispielseite!

danke!

Dann müssen aber alle durch Module erzeugten URLs durch

Code:
$sess->url()
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

ClemensNewbie hat geschrieben:könntest du mir bitte diesen punkt noch etwas genauer erläutern?
welche module betrifft das? ich benutze alle moduleder beispielseite!
Das kann ich nicht sagen, da ich es auch nicht im Detail weiß. Im Prinzip muss halt jede interne URL ("front_content.php?..."), die irgendwo erzeugt wird, dann später so aussehen:

Code: Alles auswählen

$sess->url("front_content.php?...")
Einfacher und natürlich auch eleganter wäre definitiv die mod_rewrite-Variante.
Gesperrt