Sprachauswahlproblem bei mehrere Sprachen

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
e-site
webEdition Partner
webEdition Partner
Beiträge: 59
Registriert: Fr 27. Mai 2016, 09:33
Kontaktdaten:

Sprachauswahlproblem bei mehrere Sprachen

Beitragvon e-site » Do 16. Sep 2021, 14:08

Hallo zusammen,

ich habe bisher immer folgende Listview für die Sprachauswahl genutzt:

Code: Alles auswählen

<we:listview type="languagelink" name="sprachen" pagelanguage="top" showself="false" order="de_DE,en_GB">
	<we:ifFound>
		<we:repeat>
			<a href="<we:field name="we_path"/>">
				<img src="/img/<we:field name="WE_TARGETLOCALE"/>.png"/>
			</a>
		</we:repeat>
		<we:else/>
		<we:a id="100" title="English">EN</we:a>
	</we:ifFound>
</we:listview>
Das funktioniert soweit mit 2 Sprachen gut. Wenn es keine korrespondierende Seite gibt, wird z.B. auf die englische Startseite verlinkt.

Das funktioniert bei 3 oder mehr Sprachen nicht mehr.
Z.B hat eine de-Seite noch eine korrespondierende en-Seite, dann wird nur die englische Seite verlinkt aber die französische Seite wird nicht angezeigt/verlinkt.

Wie kann man an einfachsten bei drei Sprachen eine Abfrage realisieren, wenn es für eine Sprache (z.B. fr) keine korrespondierende Seite gibt, dann gib einen Link für die französische Startseite aus?

Hat hier einer einen Tipp für mich?

Gruß
Heiko

NilSole
Senior Member
Beiträge: 271
Registriert: Mi 27. Mär 2019, 15:28

Re: Sprachauswahlproblem bei mehrere Sprachen

Beitragvon NilSole » Do 16. Sep 2021, 15:59

Hallo Heiko,

ich könnte mir vorstellen, dass du mit Sprachverknüpfungen auf dem jeweiligen übergeordneten Verzeichnis (oder dem Sprachroot) und dem Attribut recursive=true so etwas wie Fallbacks erzeugen könntest. Für jede Ebene ohne Default hättest du aber ein paar zusätzliche Queries am Laufen.

Schöne Grüße
Nils

Benutzeravatar
haydi
Senior Member
Beiträge: 580
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Hirschberg
Kontaktdaten:

Re: Sprachauswahlproblem bei mehrere Sprachen

Beitragvon haydi » Mi 22. Sep 2021, 07:52

Hola,

weiß jetzt nicht, wie es bei dir aufgebaut ist... könnte mir vorstellen, dass du im else-Zweig einfach nach dem "root"-Verzeichnis der Sprache fragst... also, falls du die Sprachen jeweils in eigenen Ordnern hast, bspw. /de /en /fr ... Verzeichnisse existieren, dann könntest du mit <we:ifWorkspace id=""> eine Abfrage machen, ob sich der User innerhalb eben bspw. fr befindet... wenn ja, dann leite auf dessen Fallback-Seite um...

Sonnige Grüße
Heidi
Heidi Wetzel
Internet-Applikationen & Webseiten-Erstellung
https://www.heidi-wetzel.de

Benutzeravatar
e-site
webEdition Partner
webEdition Partner
Beiträge: 59
Registriert: Fr 27. Mai 2016, 09:33
Kontaktdaten:

Re: Sprachauswahlproblem bei mehrere Sprachen

Beitragvon e-site » Di 5. Okt 2021, 09:02

Hallo zusammen,

ich habe mich jetzt für eine php-lastige Version entschieden, falls es andere interessiert hier der Code.

Zuerst lege ich ein Array für die Sprachen an, das kann nun beliebig mit Sprachen erweitert werden:

Code: Alles auswählen

<?php $sitelang = array(
	"en_GB" => array("name" => "Englisch", "link" => "", "fallbacklink" => "/en/index.html" ),
	"fr_FR" => array("name" => "Französisch", "link" => "", "fallbacklink" => "/fr/index.html" )
); ?>
In der Listview befülle ich den Link:

Code: Alles auswählen

<we:field name="we_path" to="global" nameto="lang_link"/>
<we:field name="WE_TARGETLOCALE" to="global" nameto="lang_locale"/>
<?php $sitelang[$GLOBALS['lang_locale']]['link'] = $GLOBALS['lang_link']; ?>
In der Ausgabe prüfe ich, ob ein korrespondierender Link vorhanden ist, ansonsten Ausgabe des Fallbacklinks:

Code: Alles auswählen

<?php 
	foreach($sitelang AS $lang => $value) {
		$link = !EMPTY($value["link"]) ? $value["link"] : $value["fallbacklink"];
		$name = $value["name"];
		echo "<a href=\"$link\" title=\"$name\"><img src=\"/img/flags/$lang.png\" /></a>";
	}
?>
Vielleicht der eine oder andere eine andere/bessere Lösung oder kann den Sprachumschalter komplett mit webEdition-Tags aufbauen. Würde mich zumindest interessieren.

Gruß Heiko


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 25 Gäste