Seite 1 von 1

Synchronisiertes Sprachwechsel

Verfasst: Mi 8. Mär 2006, 16:16
von abrek
Thema: Synchronisiertes Sprachwechsel mit Artikel- bzw. Kategorienüberprüfung

Hallo an alle!

Bei mir sind alle Sprachen synchronisiert, es gibt aber Paar Kategorien, die nur in eine Sprache vorhanden sind. Wenn ich einfach mittels

Code: Alles auswählen

<a href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=6".'">FRA</a>
die Sprache umschalte gibt’s manchmal Fehlermeldung. Ist aber logisch – die Zielseite existiert nicht.

Hab gerade probiert in meinen Sprachwechselmodul eine Überprüfung einbauen, wo geprüft wird ob verlinktes Artikel bzw. Kategorie vorhanden ist:

Code: Alles auswählen

<?php

$inwork = "http://www.homepage.de/cms/upload/inwork/index.html";

if ($idcat == 0 && &idart == 0)
	{
		echo "<div id=\"navcontainer\">";
		echo "<ul id=\"navlist\">";

		echo "<li><a class=\"sprache\" href=\"$inwork\">ESP</a></li>";

		if ($lang == "6") { echo "<li><a class=\"activesprache\" href=\"front_content.php?changelang=6\">FRA</a></li>"; }
			else { echo "<li><a class=\"sprache\" href=\"front_content.php?changelang=6\">FRA</a></li>"; }

		if ($lang == "9") { echo "<li><a class=\"activesprache\" href=\"front_content.php?changelang=9\">RUS</a></li>"; }
			else { echo "<li><a class=\"sprache\" href=\"front_content.php?changelang=9\">RUS</a></li>"; }
		
		if ($lang == "2") { echo "<li><a class=\"activesprache\" href=\"front_content.php?changelang=2\">ENG</a></li>"; }
			else { echo "<li><a class=\"sprache\" href=\"front_content.php?changelang=2\">ENG</a></li>"; }

		if ($lang == "1") { echo "<li><a class=\"activesprache\" href=\"front_content.php?changelang=1\">DEU</a></li>"; }
			else { echo "<li><a class=\"sprache\" href=\"front_content.php?changelang=1\">DEU</a></li>"; }

		echo "<li><a class=\"sprache\">&nbsp;</a></li></ul></div>";
	}
		
		else
			{
				echo "<div id=\"navcontainer\">";
				echo "<ul id=\"navlist\">";
				echo "<li><a class=\"sprache\" href=\"$inwork\">ESP</a></li>";

				if ($lang == "6") { echo '<li><a class="activesprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=6".'">FRA</a></li>'; }
					else { echo '<li><a class="sprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=6".'">FRA</a></li>'; }

				if ($lang == "9") { echo '<li><a class="activesprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=9".'">RUS</a></li>'; }
					else { echo '<li><a class="sprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=9".'">RUS</a></li>'; }
	
				if ($lang == "2") { echo '<li><a class="activesprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=2".'">ENG</a></li>'; }
					else { echo '<li><a class="sprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=2".'">ENG</a></li>'; }

				if ($lang == "1") { echo '<li><a class="activesprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=1".'">DEU</a></li>'; }
					else { echo '<li><a class="sprache" href="front_content.php?'."idcat=$idcat&idart=$idart&changelang=1".'">DEU</a></li>'; }

				echo "<li><a class=\"sprache\">&nbsp;</a></li></ul></div>";
			}
?>
Irgendwo gibst doch ein Fehler drin, suche schon seit Paar Stunden – eine habe ich festgestellt: wenn ich

Code: Alles auswählen

if ($idcat == 0 && &idart == 0) {….} else {….}
lösche, dann ist keine Fehler mehr zu sehen. Ich brauche es aber irgendwie prüfen..

Könnte jemand helfen?

Verfasst: Mi 8. Mär 2006, 17:03
von emergence
ähm versteh den sinn der zeile zwar nicht:

Code: Alles auswählen

if ($idcat == 0 && &idart == 0)
aber

Code: Alles auswählen

&idart
sollte sicher

Code: Alles auswählen

$idart
heissen...

Verfasst: Mi 8. Mär 2006, 17:10
von abrek
emergence hat geschrieben:ähm versteh den sinn der zeile zwar nicht:

Code: Alles auswählen

if ($idcat == 0 && &idart == 0)
Ich muss überprüfen ob Zielkategorie existiert. Wie kann ich es machen?

Verfasst: Mi 8. Mär 2006, 17:22
von emergence
ähm -> ich würd sagen nur mittels einer db abfrage

wie das geht ? -> forum suche bemühen...

Verfasst: Mi 8. Mär 2006, 17:22
von Halchteranerin
emergence hat geschrieben:

Code: Alles auswählen

&idart
sollte sicher

Code: Alles auswählen

$idart
heissen...

Verfasst: Do 9. Mär 2006, 09:57
von abrek
emergence hat geschrieben:ähm -> ich würd sagen nur mittels einer db abfrage

wie das geht ? -> forum suche bemühen...
Danke emergence, danke Halchteranerin.
Das mit dem "$idart" statt "&idart" funktionuert super, aber das tut nix. Es kommt immer der zweite Codestück (nach "else") in Gang.
Leider habe ich überhaupt keine Ahnung in SQL-Abfragen usw. und lasse es lieber so wie es ist. Vielleicht kommt jemand später dazu und hilft mir.

Verfasst: Di 14. Mär 2006, 08:52
von abrek
Hallo an alle!

Wer kann mir verraten welche DB-Felder soll ich abfragen bzw. vergleichen?
Es gibt "idcat", "idart", "lang" und "idcatart". Wie soll ich weiter vorgehen?

Verfasst: Di 14. Mär 2006, 11:58
von Halchteranerin
Ich hab' den Faden verloren ...
idcat ist die Kategorie
idart ist der Artikel
lang ist die Sprache
idcatart ist eine (eindeutige) Kombination aus Artikel und Kategorie.

Nimm also die, die du fuer deine Zwecke brauchst.

Verfasst: Di 14. Mär 2006, 12:17
von abrek
Halchteranerin hat geschrieben:Ich hab' den Faden verloren ...
Hallo Halchteranerin!

Ich möchte mittels DB-Abfrage prüfen, ob der Artikel, der gerade eingeblendet ist, in eine andere Sprache verfügbar ist.
Und meine Frage ist: was soll ich prüfen? "idart" + "lang"?
Ich blicke nicht mehr durch.

Soll ich z.B. "idart" + "lang" aus DB nehmen und dann vergleichen ob "idart" nicht nur in eine Sprache existiert? Oder wie?