Sprachmodul

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Sprachmodul

Beitrag von Alex » Fr 25. Jun 2004, 13:57

Hallo!

Hier eine Entwicklung von mir...

Es ist ein kleines Sprachmodul... Es fügt, wenn der entsprechende Artikel in einer anderen Sprache vorhanden und online geschaltet ist, die entsprechende Flagge ein...

Viel Spaß damit... Für weitere Anregungen bin ich natürlich immer dankbar...

Alex

OUTPUT:

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.
//Im Editormodus wird die Umschaltmöglichkeit IMMER angeboten...

//Konfiguration...
//Diese Zeilen konfigurieren das Modul...
//Aufbau: $picture["Sprach-ID"] = "PFAD zur Flagge";
$picture["1"] = "upload/design/brd.gif";
$picture["3"] = "upload/design/gb.gif";




//AB HIER NICHTS MEHR ÄNDERN... 
$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>&nbsp;"; 		
			}
		}
		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>&nbsp;"; 
			}
		}
	}
	reset($picture);
}
?>
Zuletzt geändert von Alex am So 8. Aug 2004, 17:46, insgesamt 1-mal geändert.
Contenido 4.4.4 & 4.5.3-CVS

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 12. Jul 2004, 11:38

clever gemacht...
die grafiken im modul zu definieren ist ein kleines manko...
ich würde eine zusätzliche abfrage in der con_lang machen und das feld name für die grafik nutzen...
hätte den vorteil das man das modul nicht für jede weitere sprache ändern müsste...

ne andere kleine anmerkung -> im editor modus sollte der wert online = 1 ignoriert werden... dann ist ein wechsel im editor auf die andere sprache ebenso möglich (wenn die session id von contenido mit übergeben wird)

ich häng das mal mit nen anderen posting zusammen:
-> http://www.contenido.de/forum/viewtopic ... highlight=
*** make your own tools (wishlist :: thx)

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex » So 8. Aug 2004, 18:08

Hi!

Ich habe das Sprachmodul leicht überarbeitet. Es wird jetzt gecheckt, ob Kategorie online ist UND Artikel online ist. Nur wenn BEIDES gilt, wird die Flagge gezeigt.

Allerdings gilt dies nur, wenn die Seite außerhalb des Editors angezeigt wird. Im Editor wird die Flagge immer präsentiert.

Damit habe ich aber noch Probleme. Bei der Erstansicht im Editor ist alles okay (auch nicht onlinegeschaltete Artikel einer anderen Sprache werden per Falgge angezeigt). Klickt man dann auf die Flagge, schaltet man auf einen nicht-onlinegeschaltete um, dann scheint aber diese Editorausnahme nicht mehr zu funktionieren. Ist das denn normal?

Viele Grüße

Alex
Contenido 4.4.4 & 4.5.3-CVS

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 9. Aug 2004, 07:07

es muss die variable contenido beim link mitübergeben werden...
was du ja machst $sess->url...

hmm hab jetzt leider keine möglichkeit um das zu testen...
*** make your own tools (wishlist :: thx)

helix
Beiträge: 6
Registriert: So 15. Aug 2004, 14:22
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von helix » So 15. Aug 2004, 15:49

hi

also ich hab das Modul grad bei mir eingebaut...aber irgendwie wills ned so recht wie ich will ;-).
Im Editor wird mir ne Flagge angezeigt (allerdings nur die für englisch obwohl der Artikel eigentlich nur in deutsch verfügbar ist). Geh ich dann auf vorschau oder schau mir den Artikel ganz normal an ist garkeine Flagge zu sehen....auch nicht die für deutsch zu der der Artikel ja gehört.

hat jemand ne Idee woran das liegen könnt....das Modul wär echt genau das was ich brauchen würde!!!!

zu finden ist meine Seite unter
http://euroball-cms.dps-lan.net/cms/

Danke schonmal!!!
Gruss Nils

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex » So 15. Aug 2004, 16:41

Hi helix.

Hast du das Modul auch konfiguriert? Die Sprach-ID müssen angepasst werden, die Pfade zu den Flaggen auch.

Die Flaggen werden nur angezeigt, wenn auch die entsprechende Kategorie und der Artikel online geschaltet sind...

Alex
Contenido 4.4.4 & 4.5.3-CVS

helix
Beiträge: 6
Registriert: So 15. Aug 2004, 14:22
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von helix » So 15. Aug 2004, 18:15

ok.......war einfach nur blöd....man sollte vielleicht den Artikel auch auf online setzen!!! heldentat ;-)
Sorry

ulisteinle
Beiträge: 53
Registriert: Sa 13. Mär 2004, 21:59
Wohnort: D -> BW -> HN
Kontaktdaten:

Änderungen

Beitrag von ulisteinle » Mi 1. Dez 2004, 18:19

Hallo Zusammen,

Ich habe das Sprachmodul etwas geändert:

Im Link wird jetzt auch die idcat angegeben.( - Ohne diese bekam ich immer eine Login-Seite zu sehen)
Im SQL Statement wurde:

Code: Alles auswählen

... WHERE ARTLANG.idart =  '20' AND CATLANG.idcat = '1' ...
durch

Code: Alles auswählen

WHERE ARTLANG.idart = $idart AND CATLANG.idcat = $idcat
ersetzt.
Zu den Bildchen ist ein ALT-Tag hinzugekommen, dass im Modul entsprechend der Sprache angepasst werden kann.

Das ganze sieht jetzt so aus:

Output:

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"] = "upload/bilder/de_flagge.jpg"; 
$picture["2"] = "upload/bilder/us_en_flagge.jpg";
$picture["3"] = "upload/bilder/fr_flagge.jpg"; 

//Alt-Tag, das angezeigt werden soll. Analog Sprach-ID [idlang]
$alt["1"] = "Sprache 1";
$alt["2"] = "Sprache 2";
$alt["3"] = "Sprache 3";



//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 href=".$sess->url("front_content.php?client=$client&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
            echo "><img src=".$picture_pfad." border='0' alt='".$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 href=".$sess->url("front_content.php?&idcat=$idcat&changelang=".($mydb->f("idlang"))."&idart=$idart"); 
             echo "><img src=".$picture_pfad." border='0'  alt='".$alt[$mydb->f("idlang")]."'></a> ";
         } 
      } 
   } 
   reset($picture); 
} 
?> 
Ein großes "Danke" an Alex für das Modul!

Gruß
Uli

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex » Do 2. Dez 2004, 13:35

Danke Uli!

Ich werde das Modul mal in den nächsten Tagen ausprobieren...

Viele Grüße

Aöex
Contenido 4.4.4 & 4.5.3-CVS

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Änderungen

Beitrag von Halchteranerin » So 9. Jan 2005, 20:48

Hallo Uli,
ulisteinle hat geschrieben: Zu den Bildchen ist ein ALT-Tag hinzugekommen, dass im Modul entsprechend der Sprache angepasst werden kann.
hast du eine Ahnung, warum der ALT-Tag nur bei IE funktioniert? Ich kann mich dunkel erinnern, dass es Probleme gab, wenn ich mich nicht ganz taeusche, aber ich meine, das Problem schon mal geloest zu haben. Ich erinnere mich nur leider nicht, wie. :-( Ich hab's gerade mit dem name-Tag (zusaetzlich zu alt) probiert, aber das hat leider auch keine Auswirkung. Es waere schoen, wenn der Bildername auch bei Netscape/Mozilla funktionieren wuerde ...

Gruss
Christa

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 9. Jan 2005, 21:07

Versuche title="Ein Text"

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » So 9. Jan 2005, 21:17

title war's, danke!
Das Modul scheint aber irgendwie noch eine Macke zu haben ... die Sprachen haben ja eine bestimmte Reihenfolge. Jetzt ist es nicht nur mir sondern auch meiner Mutter (anderer Ort, anderer Rechner :wink:) komischerweise bei derselben (4.) Sprache aufgefallen, dass wenn man eine der Unterseiten anklickt diese nicht in der 4. Sprache sondern in der 1. angezeigt wird. Die Seite existiert aber in der 4. Sprache, und die con_code habe ich zwischendurch geleert. In der errorlog steht "natuerlich" wieder mal nichts. Woran koennte DAS denn liegen? Ich werd's jedenfalls beobachten, ob es evtl. auch bei einer der anderen Sprachen (es sind 5 insgesamt) zwischendurch auftritt.

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex » Mo 10. Jan 2005, 06:44

Hi Halchteranerin,

verwendest du meine Version oder die von Uli?

Alex

PS: Kopier doch einfach meine Grundversion mal rein und check dann...
Contenido 4.4.4 & 4.5.3-CVS

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 10. Jan 2005, 08:11

Hi Alex,

ich habe die von Uli genommen, weil ich bei deiner nicht wusste, was die idart 20 und idcat 1 sein soll, zumal sie in dem Bereich "AB HIER NICHTS MEHR AENDERN" stand. Das Problem mit dem Testen ist auch, dass das von mir beschriebene Problem nicht immer auftritt, also selbst, wenn ich jetzt deine Version naehme und die gerade funktioniert, heisst das leider noch nichts. :(

Gruss
Christa

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Do 13. Jan 2005, 00:46

hmm, ich habe jetzt Ulis und Alex' Version kombiniert und erweitert (dass der alt-Tag und zusaetzlich ein title-Tag angezeigt werden, dass die idart und idcat nicht mehr fest drin sind), und eben hat's funktioniert, aber vorher ging es auch ab und zu, deswegen werde ich das eine Weile beobachten. Sollte es ohne Probleme klappen, dann ist in Ulis Version noch ein Wurm drin, mal gucken ... Ich melde mich nach einiger Beobachtung wieder.

Gesperrt