[BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
[BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo,
ich habe eben meine dt.Version via Sprachsynchronisation ins Englische dupliziert.
Das ging alles ganz gut. Nun aber habe ich folgendes Problem: ich will den engl.Seiten
eine andere Vorlage zuordnen, hierbei wird aber sofort auch der entsprechenden
deutschen Seite die gleiche Vorlage zugeordnet. Also kann ich entweder beiden
meine engl. oder meine dt. Vorlage zuordnen, aber eben nicht - wie natürlich beabsichtigt -
jeweils die eigene.
Hat jemand eine Idee, was da falsch läuft?
Grüße aus Bremen,
Horst
ich habe eben meine dt.Version via Sprachsynchronisation ins Englische dupliziert.
Das ging alles ganz gut. Nun aber habe ich folgendes Problem: ich will den engl.Seiten
eine andere Vorlage zuordnen, hierbei wird aber sofort auch der entsprechenden
deutschen Seite die gleiche Vorlage zugeordnet. Also kann ich entweder beiden
meine engl. oder meine dt. Vorlage zuordnen, aber eben nicht - wie natürlich beabsichtigt -
jeweils die eigene.
Hat jemand eine Idee, was da falsch läuft?
Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
-
- Beiträge: 1951
- Registriert: Sa 8. Sep 2007, 16:23
- Wohnort: Brandenburg
- Hat sich bedankt: 15 Mal
- Kontaktdaten:
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Nun, synchron ist eben synchron, wie das Wort schon sagt
Du kannst aber in der Vorlage etwas programmieren, das Details (!) anders anzeigt, wenn eine andere Sprache angezeigt wird.
z.B. die englische Sprache heißt "en", dann holst du dir den Namen über eine Join-Abfrage und nimmst:
Einfacher geht es über die LanguageID, die steht in der Variablen $lang.
Aber manchmal möchte man auch den Namen.
Ein komplettes Template umzuswitchen hatte ich auch schon versucht, das geht nicht.

Du kannst aber in der Vorlage etwas programmieren, das Details (!) anders anzeigt, wenn eine andere Sprache angezeigt wird.
z.B. die englische Sprache heißt "en", dann holst du dir den Namen über eine Join-Abfrage und nimmst:
Code: Alles auswählen
if($langname = "en") echo ....;
elseif($langname = "de") echo ....;
else echo ...;
Aber manchmal möchte man auch den Namen.
Ein komplettes Template umzuswitchen hatte ich auch schon versucht, das geht nicht.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Faar,
das ist eigentlich sehr schade, aber synchron ist halt synchron
Wie würde denn der Code lauten, um im Layout im Bodytag automatisch je nach Sprache als id dann entweder "en" oder "de" auszugeben?
Lieben Dank schon mal aus Bremen,
Horst
das ist eigentlich sehr schade, aber synchron ist halt synchron

Wie würde denn der Code lauten, um im Layout im Bodytag automatisch je nach Sprache als id dann entweder "en" oder "de" auszugeben?
Lieben Dank schon mal aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
-
- Beiträge: 1951
- Registriert: Sa 8. Sep 2007, 16:23
- Wohnort: Brandenburg
- Hat sich bedankt: 15 Mal
- Kontaktdaten:
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Horst,
den ganzen Code kann ich dir jetzt nicht machen, aber die SQL bei 4.8.x lautet so:
Statt der $cfg Variablen kannst du für Dein Projekt auch die direkten Tabellen und Spalten-Namen eintragen.
Ich weiß jetzt aus dem Stegreif nicht, ob 4.9. noch die $cfg Variable hat.
Nach der Abfrage hast du id (idlang) und Name (name) der Sprache.
Wichtig ist, dass du die Sprachen nicht deutsch und englisch nennst, sondern de und en nach interantionaler Klassifizierung.
Dann passen die Namen überein mit dem was du willst.
den ganzen Code kann ich dir jetzt nicht machen, aber die SQL bei 4.8.x lautet so:
Code: Alles auswählen
SELECT ".$cfg["tab"]["lang"].".idlang,".$cfg["tab"]["lang"].".name FROM ".$cfg["tab"]["lang"].",".$cfg["tab"]["clients_lang"]." WHERE ".$cfg["tab"]["clients_lang"].".idclient='".$client."' AND ".$cfg["tab"]["lang"].".idlang = ".$cfg["tab"]["clients_lang"].".idlang ORDER BY ".$cfg["tab"]["lang"].".idlang ASC
Ich weiß jetzt aus dem Stegreif nicht, ob 4.9. noch die $cfg Variable hat.
Nach der Abfrage hast du id (idlang) und Name (name) der Sprache.
Wichtig ist, dass du die Sprachen nicht deutsch und englisch nennst, sondern de und en nach interantionaler Klassifizierung.
Dann passen die Namen überein mit dem was du willst.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Besser ist dann, über die Language-Klasse den SprachCODE zu holen.Faar hat geschrieben:Wichtig ist, dass du die Sprachen nicht deutsch und englisch nennst, sondern de und en nach interantionaler Klassifizierung.
Dann passen die Namen überein mit dem was du willst.
Das ist schon die "internationale Klassifizierung" und wird bei den Sprachen als "Sprache" eingestellt.
Per SQL-Anweisung geht das auch, die Daten stehen in der con_properties.
Falls Code gewünscht wird, bitte nochmal anfragen, dann stelle ich da morgen was zusammen.
Jetzt mache ich Feierabend

Gruß
Zuschauer
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Faar,
da ich kein PHP- oder DB-Programmierer bin, ist mir deine Antwort leider ein Buch mit sieben Siegeln. Ich suche halt einen Code fürs Layout, der das kann, wenns das gibt.
Hallo Zuschauer,
wenn's nach deiner Idee einen solchen Code gibt, wär ich dir sehr dankbar dafür,
Herzliche grüße aus Bremen,
Horst
da ich kein PHP- oder DB-Programmierer bin, ist mir deine Antwort leider ein Buch mit sieben Siegeln. Ich suche halt einen Code fürs Layout, der das kann, wenns das gibt.
Hallo Zuschauer,
wenn's nach deiner Idee einen solchen Code gibt, wär ich dir sehr dankbar dafür,
Herzliche grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Horst,
per cApiClient Klasse:
per SQL-Anweisung:
Gruß
Zuschauer
PS: Der Code ist für Contenido 4.8 (wurde hier von Faar angesprochen), aber ich denke für die 4.9 wird er auch funktionieren.
per cApiClient Klasse:
Code: Alles auswählen
$oLang = new cApiLanguage($lang);
$sLang = strtolower($oLang->getField('language', 'code'))
Code: Alles auswählen
$sql = 'SELECT value
FROM ' . $cfg['tab']['properties'] . '
WHERE ((itemtype="idlang")
AND (type="language")
AND (name="code")
AND (itemid=' . $lang . '))';
$db->query($sql);
$db->next_record();
$sLang = $db->f('value');
Zuschauer
PS: Der Code ist für Contenido 4.8 (wurde hier von Faar angesprochen), aber ich denke für die 4.9 wird er auch funktionieren.
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Zuschauer,
wo trage ich diesen Code ein (in ein Modul?) und wie lese ich das dann im Layout aus?
Oder kommt dieser Code schon ins Layout, falls ja:wie?
herzlichen Dank,
Horst
wo trage ich diesen Code ein (in ein Modul?) und wie lese ich das dann im Layout aus?
Oder kommt dieser Code schon ins Layout, falls ja:wie?
herzlichen Dank,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Horst,
der Code ist als Ersatz für die von Faar gelieferte SQL-Anweisung zu sehen.
Die ID der Sprache hast du ja schon ($lang), und hiermit hast du in der Variable $sLang auch den Sprachcode (de, en, ...).
Wie du diesen Sprachcode dann einsetzt hat dir Faar weiter oben (06.10.2014 16:17) schon geschrieben:
Gruß
Zuschauer
der Code ist als Ersatz für die von Faar gelieferte SQL-Anweisung zu sehen.
Die ID der Sprache hast du ja schon ($lang), und hiermit hast du in der Variable $sLang auch den Sprachcode (de, en, ...).
Wie du diesen Sprachcode dann einsetzt hat dir Faar weiter oben (06.10.2014 16:17) schon geschrieben:
Nur musst du hier dann statt $langname eben $sLang einsetzenFaar hat geschrieben:Code: Alles auswählen
if($langname = "en") echo ....; elseif($langname = "de") echo ....; else echo ...;

Gruß
Zuschauer
Re: [BUG 4.9.4.] Sprachensynchronisation und Seiten-Vorlagen
Hallo Zuschauer,
danke für deine Geduld, ich hab wohl auf der Leitung gestanden.
Jetzt hab ich's,
vielen Dank,
Horst
danke für deine Geduld, ich hab wohl auf der Leitung gestanden.
Jetzt hab ich's,
vielen Dank,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de