CMS:SELECT_LANGVERSION

Liefert die verfügbaren Sprachen als Datensätze zurück.

(CMS:SELECT_LANGVERSION resulttemplate)

Methode: Cms::cmsSelectLanguages()
Ohne Schlüssel: der erste Wert ohne = gilt als resulttemplate
PHP-Schnipsel: push_result (davor) · include, pop_result (danach)

Parameter

Parameter Wert Standard Pflicht Beschreibung
resulttemplate ¹ Templatename – ja Listentemplate, das zur Verarbeitung der Ergebnisse eingebunden wird.
set Array-Index von $set – Die gesamte Ausgabe (samt eingebundenem Template) wird nicht ausgegeben, sondern in der Variable $set gespeichert.

¹ kann ohne Schlüssel als erster Wert angegeben werden.

Anwendung

Stellt die Sprachen des Auftritts als Ergebnismenge bereit - Hauptsprache zuerst - und bindet das resulttemplate ein. Jede Zeile trägt language_id, code, label, endonym und current (1 = Sprache des laufenden Aufrufs). Damit entsteht ein Sprachumschalter:

<ul class="lang">
(CMS:SELECT_LANGVERSION lang_item)
</ul>

Listentemplate lang_item:

(CMS:RESULT_START)
<li<?php if ($cms['current']) echo ' class="active"'; ?>>
  <a href="(CMS:URL lang="{$cms['code']}")" hreflang="(CMS:TEXT code)">(CMS:TEXT endonym)</a>
</li>
(CMS:RESULT_END)

Die Zeilen sind keine Datensätze; CMS:URL ohne id verweist deshalb auf den äußeren Datensatz - den der Seite bzw. die Zeile der umgebenden Ergebnisschleife -, nur in der jeweils anderen Sprache. Ist das Feld slug mehrsprachig, setzt CMS:URL den Slug der Zielsprache ein (/de/esstisch-nord-180 → /en/dining-table-nord-180), siehe CMS:URL. Bei nur einer Sprache enthält die Ergebnismenge genau eine Zeile.

Auf einer Seite ohne Datensatz (eigenständiges Template, /de/0,suche) gibt es keinen äußeren Datensatz; das Template gehört dann ausdrücklich in den Verweis:

<a href="(CMS:URL lang="{$cms['code']}" template=suche)">(CMS:TEXT endonym)</a>

Parameter im Einzelnen

resulttemplate

Listentemplate; darf ohne Schlüssel stehen:

(CMS:SELECT_LANGVERSION resulttemplate=lang_item)
(CMS:SELECT_LANGVERSION lang_item)

← Übersicht

Stand: camindo CMS 9.1.3