Sprachmodul

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Sprachmodul

Beitrag von benja » Di 23. Feb 2010, 11:36

Hallo,

kann mir jemand helfen und das Sprachmodul so ändern dass ich am Ende keinen Trenner habe?
Also so:
Deutsch / English / Türkçe / Portuguese

statt:
Deutsch / English / Türkçe / Portuguese /

Vielen Dank im Voraus
benja

Hier das Modul das ich verwende:

Code: Alles auswählen

<?php 
//Sprachmodul - Version 2.3 
//für Contenido 4.4.x 
//Alexander Zimmerhofer - alexander(at)zimmerhofer.org 
//modified 01.12.2004: Uli Steinle 

//Sprachmodul zeigt kleine Landesflaggen zum Umschalten der Sprache an, wenn die entsprechenden Kategorien sowie die entsprechenden Artikel online geschaltet sind. 
//Im Editormodus wird die Umschaltmöglichkeit IMMER angeboten... 

//Konfiguration... 
//Diese Zeilen konfigurieren das Modul... 
//Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge"; 
$picture["1"] = "Deutsch"; 
$picture["2"] = "English";
$picture["3"] = "Türkçe"; 
$picture["4"] = "France";  
$picture["5"] = "Portuguese"; 
  

echo "".$picture_pfad."</a> "; 

//Alt-Tag, das angezeigt werden soll. Analog Sprach-ID [idlang] 
$alt["1"] = "Deutsch"; 
$alt["2"] = "English";
$alt["3"] = "Türkçe"; 
$alt["4"] = "France";  
$alt["5"] = "Portuguese"; 




//AB HIER NICHTS MEHR ÄNDERN... 
$mydb = new DB_Contenido; 

$sql = "SELECT ARTLANG.idlang, ARTLANG.online, CATLANG.visible FROM ".$cfg["tab"]["art_lang"]." "; 
$sql = $sql. "AS ARTLANG, ".$cfg["tab"]["cat_lang"]." "; 
$sql = $sql. "AS CATLANG WHERE ARTLANG.idart = $idart AND CATLANG.idcat = $idcat AND ARTLANG.idlang = CATLANG.idlang ORDER BY ARTLANG.idlang ASC"; 

$mydb ->query ($sql); 
// echo $sql; 



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 class=".hilfsnavigation."  href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
            echo ">".$alt[$mydb->f("idlang")]."</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 class=".hilfsnavigation." href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             echo ">".$alt[$mydb->f("idlang")]."</a> / "; 
         } 
      } 
   } 
   reset($picture); 
}

?>

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Sprachmodul

Beitrag von xmurrix » Di 23. Feb 2010, 14:28

Hallo,

ersetze einfach den Code der while-Schleife im Modul, gegen diesen:

Code: Alles auswählen

$languageLinks = '';
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)) 
         { 
            $languageLinks .= "<a class=".hilfsnavigation."  href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
            $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a> / "; 
         } 
      } 
      else 
      { 
         if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id) and (($mydb->f("online")) == 1) and (($mydb->f("visible")) == 1)) 
         { 
             $languageLinks .= "<a class=".hilfsnavigation." href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a> / "; 
         } 
      } 
   } 
   reset($picture); 
}

echo trim($languageLinks, ' /');
unset($languageLinks);
Du solltest dich eigentlich etwas mit dem Modulcode außeinander setzen und es selber ändern können...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Di 23. Feb 2010, 17:27

Danke xmurrix,

ich sollte mich wirklich mehr damit auseinander setzen. Leider fehlen mir schon die Grundlagen :(
Den Code von der Hilfsnavigation hier im Forum mit einer ähnlichen Änderung hatte ich mir auch schon angesehen, aber das Umsetzen ist dann doch nichts für mich zumal ich den folgenden Fehler trotz Deiner Hilfe nicht finde.

Leider kommt bei mir im Backend ein Fehler im Modul (Line 18)!

LG
benja

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Sprachmodul

Beitrag von xmurrix » Di 23. Feb 2010, 17:59

Poste doch mal das Resultat, also den neuen Modulcode im Ganzen - irgend etwas stimmt in Zeile 18 nicht...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Di 23. Feb 2010, 18:01

Das wäre der gesamte Code:

Code: Alles auswählen

<?php 
//Sprachmodul - Version 2.3 
//für Contenido 4.4.x 
//Alexander Zimmerhofer - alexander(at)zimmerhofer.org 
//modified 01.12.2004: Uli Steinle 

//Sprachmodul zeigt kleine Landesflaggen zum Umschalten der Sprache an, wenn die entsprechenden Kategorien sowie die entsprechenden Artikel online geschaltet sind. 
//Im Editormodus wird die Umschaltmöglichkeit IMMER angeboten... 

//Konfiguration... 
//Diese Zeilen konfigurieren das Modul... 
//Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge"; 
$picture["1"] = "Deutsch"; 
$picture["2"] = "English";
$picture["3"] = "Türkçe"; 
$picture["4"] = "France";  
$picture["5"] = "Portuguese"; 
  

echo "".$picture_pfad."</a> "; 

//Alt-Tag, das angezeigt werden soll. Analog Sprach-ID [idlang] 
$alt["1"] = "Deutsch"; 
$alt["2"] = "English";
$alt["3"] = "Türkçe"; 
$alt["4"] = "France";  
$alt["5"] = "Portuguese"; 




//AB HIER NICHTS MEHR ÄNDERN... 
$mydb = new DB_Contenido; 

$sql = "SELECT ARTLANG.idlang, ARTLANG.online, CATLANG.visible FROM ".$cfg["tab"]["art_lang"]." "; 
$sql = $sql. "AS ARTLANG, ".$cfg["tab"]["cat_lang"]." "; 
$sql = $sql. "AS CATLANG WHERE ARTLANG.idart = $idart AND CATLANG.idcat = $idcat AND ARTLANG.idlang = CATLANG.idlang ORDER BY ARTLANG.idlang ASC"; 

$mydb ->query ($sql); 
// echo $sql; 



$languageLinks = '';
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)) 
         { 
            $languageLinks .= "<a class=".hilfsnavigation."  href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
            $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a> / "; 
         } 
      } 
      else 
      { 
         if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id) and (($mydb->f("online")) == 1) and (($mydb->f("visible")) == 1)) 
         { 
             $languageLinks .= "<a class=".hilfsnavigation." href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a> / "; 
         } 
      } 
   } 
   reset($picture); 
}

echo trim($languageLinks, ' /');
unset($languageLinks);

?>

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Sprachmodul

Beitrag von xmurrix » Di 23. Feb 2010, 18:22

Bist du dir sicher, dass der Fehler in diesem Modul ist?

Der Modulcode sieh gut aus und in Zeile 18 ist nichts verdächtiges drin...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Di 23. Feb 2010, 19:41

Ja, es ist das Modul. Es leuchtet das rote Lämpchen!

LG
benja

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Sprachmodul

Beitrag von xmurrix » Di 23. Feb 2010, 21:34

Kann da keinen Fehler erkennen, habe den Code zum Einen in eine IDE eingefügt, zum Anderen testweise als Modul in Contenido. Beide Male gibt es kein Problem.

Vermutlich hast du bei dir im Modulcode in Zeile 18 irgendetwas drin, dass das Problem verursacht. Bei mir hat das mit dem Code aus http://forum.contenido.org/viewtopic.ph ... 52#p143354. Nimm einfach das, füge es erneut in die Modulausgabe und speichere es ab. Vielleicht klappt es diesmal...
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Mi 24. Feb 2010, 09:48

Seltsam, jetzt geht es.
Viele Dank nochmal :)

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Sprachmodul

Beitrag von marphin » Fr 16. Apr 2010, 11:21

Hallo,

ich bekomme bei dem Modul die Flaggen nicht angezeigt, nur die Links. Den Pfad habe ich wie folgt angegeben:

Code: Alles auswählen

    $picture["1"] = "../images/deutsch.jpg";
    $picture["2"] = "../images/english.jpg";
    $picture["3"] = "../images/france.jpg";
Die Icons liegen in cms/images.

Muss ich da noch etwas beachten?

Gruß, Martin

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Fr 16. Apr 2010, 11:28

Hallo Martin,

ist der Pfad richtig? Ich habe dort nur
$picture["1"] = "images/deutsch.jpg";

LG
benja

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Sprachmodul

Beitrag von marphin » Fr 16. Apr 2010, 11:41

Hallo Benja,

vielen Dank für die rasche Antwort. Auch mit dem Pfad bekomme ich leider keine Icons!

VG, Martin

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Fr 16. Apr 2010, 11:45

Sorry, dann kann ich auch nicht weiterhelfen außer noch mal meinen kompletten Code zu posten. Bei dem Modul wird die Flagge und die Sprache als Text angezeigt.

Code: Alles auswählen

<?php 
//Sprachmodul - Version 2.3 
//für Contenido 4.4.x 
//Alexander Zimmerhofer - alexander(at)zimmerhofer.org 
//modified 01.12.2004: Uli Steinle 

//Sprachmodul zeigt kleine Landesflaggen zum Umschalten der Sprache an, wenn die entsprechenden Kategorien sowie die entsprechenden Artikel online geschaltet sind. 
//Im Editormodus wird die Umschaltmöglichkeit IMMER angeboten... 

//Konfiguration... 
//Diese Zeilen konfigurieren das Modul... 
//Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge"; 
$picture["1"] = "Deutsch"; 
$picture["2"] = "Japanisch"; 
$picture["4"] = "English";
 
$picturef["1"] = "images/de.gif"; 
$picturef["2"] = "images/jp.gif"; 
$picturef["4"] = "images/en.gif"; 
 


//Alt-Tag, das angezeigt werden soll. Analog Sprach-ID [idlang] 
$alt["1"] = "Deutsch"; 
$alt["2"] = "&#26085;&#26412;&#35486;"; 
$alt["4"] = "English"; 
 


//AB HIER NICHTS MEHR ÄNDERN... 
$mydb = new DB_Contenido; 

$sql = "SELECT ARTLANG.idlang, ARTLANG.online, CATLANG.visible FROM ".$cfg["tab"]["art_lang"]." "; 
$sql = $sql. "AS ARTLANG, ".$cfg["tab"]["cat_lang"]." "; 
$sql = $sql. "AS CATLANG WHERE ARTLANG.idart = $idart AND CATLANG.idcat = $idcat AND ARTLANG.idlang = CATLANG.idlang ORDER BY ARTLANG.idlang ASC"; 

$mydb ->query ($sql); 
// echo $sql; 



$languageLinks = '';
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)) 
         { 
            $languageLinks .= "<img src='".$picturef[$mydb->f("idlang")]."'  height='10' width='10' vspace='2' hspace='3' border='0' alt='".$alt[$mydb->f("idlang")]."'/> <a class='".hilfsnavigation."'  href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
            $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a>  <br/>"; 
         } 
      } 
      else 
      { 
         if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id) and (($mydb->f("online")) == 1) and (($mydb->f("visible")) == 1)) 
         { 
             //$languageLinks .= "<a class=".hilfsnavigation." href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             $languageLinks .= "<img src='".$picturef[$mydb->f("idlang")]."'  height='10' width='10' vspace='2' hspace='3' border='0' alt='".$alt[$mydb->f("idlang")]."'/> <a class='".hilfsnavigation."' href='".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             $languageLinks .= "'>".$alt[$mydb->f("idlang")]."</a>  <br/>"; 
         } 
      } 
   } 
   reset($picture); 
}

echo trim($languageLinks, '  ');
unset($languageLinks);

?>

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Sprachmodul

Beitrag von marphin » Fr 16. Apr 2010, 12:27

Hallo Benja,

dankeschön! Hatte wohl einen Fehler im Modul.

Kannst du mir denn auch sagen wie ich den Zeilenumbruch so hin bekomme, dass die Flagge immer über der Sprache steht?

Siehe hier: http://www.rote-funken-koeln.com/cms

Modulcode:

Code: Alles auswählen

    <?php
    //Sprachmodul - Version 2.3
    //für Contenido 4.4.x
    //Alexander Zimmerhofer - alexander(at)zimmerhofer.org
    //modified 01.12.2004: Uli Steinle

    //Sprachmodul zeigt kleine Landesflaggen zum Umschalten der Sprache an, wenn die entsprechenden Kategorien sowie die entsprechenden Artikel online geschaltet sind.
    //Im Editormodus wird die Umschaltmöglichkeit IMMER angeboten...

    //Konfiguration...
    //Diese Zeilen konfigurieren das Modul...
    //Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge";
    $picture["1"] = "Deutsch";
    $picture["2"] = "English";
    $picture["3"] = "France";
    $picture["4"] = "Chinese";
    $picture["5"] = "Koelsch";

    $picturef["1"] = "images/deutsch.jpg";
    $picturef["2"] = "images/english.jpg";
    $picturef["3"] = "images/france.jpg";
    $picturef["4"] = "images/chinese.jpg";
    $picturef["5"] = "images/koelsch.jpg";



    //Alt-Tag, das angezeigt werden soll. Analog Sprach-ID [idlang]
    $alt["1"] = "Deutsch";
    $alt["2"] = "English";
    $alt["3"] = "France";
    $alt["4"] = "Chinese";
    $alt["5"] = "Koelsch";



    //AB HIER NICHTS MEHR ÄNDERN...
    $mydb = new DB_Contenido;

    $sql = "SELECT ARTLANG.idlang, ARTLANG.online, CATLANG.visible FROM ".$cfg["tab"]["art_lang"]." ";
    $sql = $sql. "AS ARTLANG, ".$cfg["tab"]["cat_lang"]." ";
    $sql = $sql. "AS CATLANG WHERE ARTLANG.idart = $idart AND CATLANG.idcat = $idcat AND ARTLANG.idlang = CATLANG.idlang ORDER BY ARTLANG.idlang ASC";

    $mydb ->query ($sql);
    // echo $sql;



    $languageLinks = '';
    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))
             {
                $languageLinks .= "<img src='".$picturef[$mydb->f("idlang")]."'  height='10' width='10' vspace='2' hspace='3' border='0' alt='".$alt[$mydb->f("idlang")]."'/> <a class='".hilfsnavigation."'  href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart");
                $languageLinks .= ">".$alt[$mydb->f("idlang")]."</a>  <br/>";
             }
          }
          else
          {
             if (($lang != ($mydb->f("idlang"))) and (($mydb->f("idlang")) == $lang_id) and (($mydb->f("online")) == 1) and (($mydb->f("visible")) == 1))
             {
                 //$languageLinks .= "<a class=".hilfsnavigation." href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart");
                 $languageLinks .= "<img src='".$picturef[$mydb->f("idlang")]."'  height='29' width='40' vspace='2' hspace='3' border='0' alt='".$alt[$mydb->f("idlang")]."'/> <a class='".hilfsnavigation."' href='".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart");
                 $languageLinks .= "'>".$alt[$mydb->f("idlang")]."</a>  ";
             }
          }
       }
       reset($picture);
    }

    echo trim($languageLinks, '  ');
    unset($languageLinks);

    ?>
VG, Martin

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Sprachmodul

Beitrag von benja » Fr 16. Apr 2010, 14:07

Das würde ich über CSS regeln/müsste ich auch ausprobieren.

Gesperrt