Habe ein 3-sprachiges 4.8.12er-Projekt laufen - deutsch (1), englisch (2), türkisch (3).
Da habe ich das Flaggen-Modul 2.2 von Alexander Zimmerhofer eingebaut. Allerdings war das einmal für die 4.4.x-Version konzipiert und scheint unter der 4.8.12er nicht ganz zu funktionieren...
BUG 1
Leider wird beim Seitenaufruf das Flaggen-Menü nicht angezeigt.
Erst bei händischem Aufruf (&changelang=2 bzw. 3 angefügt) einer anderen Sprache erscheinen die Flaggen für die übrigen Sprachen.
BUG 2
Es wird kein cookie gesetzt o.ä., dass sich das System "merkt", in welcher Sprache es sich befindet.
Da das Logo auf "front_content.php" = Home verweist, wechselt man von einer anderen Sprache immer wieder zurück in die deutsche Version.
Ich bin leider kein PHP/SQL-"Könner"... Auch arbeite ich erst seit einigen Wochen mit Contenido - kenne mich mit der System-Umgebung nicht wirklich aus.
Könnte sich jemand das Modul (Code unten angefügt) einmal anschauen und evtl. für meine "Wünsche" anpassen?
Fänd ich klasse!
Habe bisher noch nichts vergleichbares (ausser Sprachwechsler via dropdown-Liste) gefunden.
VIELEN DANK IM VORRAUS!!!
Beispielcode "Flaggenmenü" 2.2 für 4.4.x:
Code: Alles auswählen
<?php
//Sprachmodul - Version 2.2
//für Contenido 4.4.x
//Alexander Zimmerhofer - alexander(at)zimmerhofer.org
//Sprachmodul zeigt kleine Landesflaggen zum Umschalten der Sprache an, wenn die entsprechenden Kategorien sowie die entsprechenden Artikel online geschaltet sind.
//Konfiguration...
//Diese Zeilen konfigurieren das Modul...
//Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge";
$picture["1"] = "images/flags/de.png";
$picture["2"] = "images/flags/gb.jpng";
$picture["3"] = "images/flags/tr.png";
//AB HIER NICHTS MEHR ANDERN...
$mydb = new DB_Contenido;
$mydb ->query ("SELECT ARTLANG.idlang, ARTLANG.online, CATLANG.visible FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG WHERE ARTLANG.idart = '20' AND CATLANG.idcat = '1' AND ARTLANG.idlang = CATLANG.idlang ORDER BY ARTLANG.idlang ASC");
while ($mydb -> next_record())
{
while(list($lang_id,$picture_pfad) = each($picture))
{
if(strstr($REQUEST_URI,"changeview=edit") || $submit=="editcontent" || strstr($REQUEST_URI,"area=con_editcontent"))
{
if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id))
{
echo "<a href=".$sess->url("front_content.php?client=$client&changelang=".($mydb->f("idlang"))."&idart=$idart");
echo "><img src=".$picture_pfad." border='0' /></a> ";
}
}
else
{
if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id) and (($mydb->f("online")) == 1) and (($mydb->f("visible")) == 1))
{
echo "<a href=".$sess->url("front_content.php?client=$client&changelang=".($mydb->f("idlang"))."&idart=$idart");
echo "><img src=".$picture_pfad." border='0' /></a> ";
}
}
}
reset($picture);
}
?>