CMS - Der Dirigent » Entwicklung » DeDi-Entwicklung
Neue Umfrage | neues Thema | Geschlossen
Modul zur Sprachauswahl, ab Alpha2 dabei
« Älteres Thema | Neueres Thema » Thema abonnieren | Thema versenden | Thema drucken
stephan | Geschrieben am: 01. Apr 2003 - 22:33 | ||||||
Unregistered |
Hallo zusammen, dickes Lob an die Entwickler, weiter so! Ich würde gerne ein Modul zur Sprachauswahl beisteuern. Ich habe in der Tabelle dedi_lang die konfigurierten Sprachen gefunden. Jedoch taucht deutsch dreimal auf. idlang name author created lastmodified 1 deutsch 1 0 0 2 deutsch 1 0 0 3 deutsch 1 0 0 4 englisch 1 1049221491 1049221491 Nimmt diese Tabelle die konfigurierten Sprachen auf? Mfg Stephan |
||||||
bjoern | Geschrieben am: 01. Apr 2003 - 23:02 | ||||||
Unregistered |
Ja, du mußt aber darauf achten, das jeder Sprache auch noch ein client zugeordnet ist. Da es 3 Clients mit jeweils einer Sprache gibt (3 mal deutsch ), ist es nicht verwunderlich, dass die Sprache deutsch drei mal vorkommt. Die Verknüpfung von Sprachen zu den einzelnen Clients passiert über die Tabelle dedi_clients_lang |
||||||
stephan | Geschrieben am: 03. Apr 2003 - 20:55 | ||||||
Unregistered |
Danke für die schnelle Antwort. Habe heute Abend folgenden ungeschliffenen Code erzeugt: <?php $sql = "SELECT A.idclientslang, B.name FROM dedi_clients_lang AS A, dedi_lang AS B WHERE A.idlang = B.idlang AND A.idclient = $client"; $db->query($sql); echo '<form name="languageform" method="post" action="index.php"> <input type="hidden" name="idcatside" value=""> <input type="hidden" name="idside" value=""> <input type="hidden" name="idcat" value="">'; echo '<select name="lang" onChange="languageform.submit()">'; while ($db->next_record()) { if ($lang == $db->f('idclientslang') ) echo '<option selected value="' . $db->f('idclientslang') . '">' . $db->f('name'); else echo '<option value="' . $db->f('idclientslang') . '">' . $db->f('name'); } echo "</select></form>"; ?> Das klappt erst einaml. Nun meine Fragen: Ist die Verwendung von $lang und $client o.K.? Warum ist es mir nicht gelungen die Tabellen in der Form $dedi_db[dedi_lang] anzusprechen? Wie müsste die eigene URL korrekt bei action="" angegeben werden? Ich hoffe dass ich nicht nerve. Ich würde mich aber gerne weiterhin mit Eurem Projekt beschäftigen und auch umfangreichere Sachen erstellen. Da ich bisher noch keine Erfahrungen mit PHP, habe würde ich erstmal klein anfangen. Danke und Grüsse Stephan |
||||||
Eppi | Geschrieben am: 04. Apr 2003 - 03:45 | ||||||
.....................noname Gruppe: Admin Beiträge: 8077 Mitgliedsnummer: 1 Mitglied seit: 23. Mar 2003 |
hier ein kleiner denkanstoss:
Wobei es im Backend einen Javascriptfehler gibt. Scheint an den Frames zu liegen und das er dann langform nicht findet. Wäre schön, wenn Du die DB-Abfrage noch so erweitern könntest, daß Du kontrollierst, ob diese Seite in der gewünschten Sprache überhaupt online ist. Wenn nicht, einfach nicht anzeigen. Gruß, Paul -------------------- "Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
|
||||||
Sven777b | Geschrieben am: 04. Apr 2003 - 16:49 | ||||||
Unregistered |
lass das "dedi" weg und setze den Tablenamen in Anführungsstriche: $dedi_db['lang']
Ja - das ist die korrekte Bezeichnung
deine Variante ist durchaus richtig. Auf die Art hast du im Frontend und im Backend die jeweils richtige Session mit drinnen. soviel erstmal zu deinen Fragen - den Rest hat Eppi ja schon geschrieben |
||||||
stephan | Geschrieben am: 06. Apr 2003 - 15:34 | ||||||
Unregistered |
Danke für die Hinweise und Beispiele. Leider habe ich erst heute wieder Zeit gefunden. Habe jetzt folgendes:
Es wird nur dann ein Dropdownmenü erzeugt falls zusätzlich zur aktuellen Sprache das aktuelle Dokument auch noch in einer anderen Sprache "online" ist. Da die Rechte- bzw. Benutzerverwaltung noch in Arbeit ist, werde ich das erst später berücksichtigen. Da ich noch keine Navigation habe, fällt mir das Testen etwas schwer. Vielleicht könnte man entsprechend der ausgewählten Sprache in den generierten HTML-Seiten <meta http-equiv="Content-Language" content="xyz"> setzen? Auch der verwendete Zeichensatz ändert sich u.U. mit der Sprache. Mein Vorschlag: Die Tabelle dedi_lang um zwei Spalten erweitern und die entsprechenden Werte im Header hinterlegen. Falls Ihr mit irgendwelchen Patch-Systemen arbeitet würde ich das entsprechend aufbereiten. Viele Grüsse Stephan |
||||||
Eppi | Geschrieben am: 06. Apr 2003 - 17:26 | ||||||
.....................noname Gruppe: Admin Beiträge: 8077 Mitgliedsnummer: 1 Mitglied seit: 23. Mar 2003 |
du kannst wohl unsere gedanken lesen? also es war schon so geplant, ist aber leider etwas komplizierter, da nicht nur der browser umgestellt werden muß, sondern auch die db. wie das bei der db genau funktioniert habe ich noch nicht raus. außerdem kommen noch wesentlich mehr meta angaben, die man dann über die seitenkonfiguration einstellen kann :-) Gruß, Paul -------------------- "Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
|
||||||
stephan | Geschrieben am: 07. Apr 2003 - 20:40 | ||||||
Unregistered |
Ab Donnerstag bin ich für 10 Tage im Urlaub. Leider zwar ohne Internet, aber mit Laptop. Ich denke, dass ich in der Zeit einiges zum Thema Internationalisierung (Sprachkennzeichnung von Webseiten, Zeichensätze und entsprechende Speicherung in der DB) herrausfinden werde. Villeicht schaue ich zwischendurch von einem Internet-Cafe aus vorbei. Viele Grüsse Stephan |
||||||
Eppi | Geschrieben am: 07. Apr 2003 - 21:44 | ||||||
.....................noname Gruppe: Admin Beiträge: 8077 Mitgliedsnummer: 1 Mitglied seit: 23. Mar 2003 |
klingt sehr gut. den stand der dinge kannst du mir dann auch mailen, damit ich das mit dem einbau koordinieren kann. wollte nämlich diese woche nochmal an der spracherstellung rumschrauben. gruß, paul -------------------- "Heute ist nicht aller Tage... ich komm wieder, keine Frage!"
|
||||||
Thema wird von 0 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:
8 Antworten seit 01. Apr 2003 - 22:33
Thema abonnieren | Thema versenden | Thema drucken