Startseite / Vorlagen (Grundlagen) / Aufbau von Vorlagen / Verweisvorlagen / Beispiele / Interne Verweise

Beispiel: Formular für interne Verweise

Interne Verweise verweisen auf Objekte innerhalb des aktuellen Projekts, beispielsweise Seiten/referenzen, Medien oder Datensätze und ermöglichen damit eine Standardanforderung in Web-Projekten: die Verknüpfung von Objekten innerhalb eines Projekts.

Im Folgenden wird beispielhaft ein Formular und die Syntax für eine entsprechende Ausgabe für einen Verweis vorgestellt, der auf eine andere Seite des Projekts und ggf. auf einen Absatz dieser Seite führt.

Darstellung (SiteArchitect)

Dialog interner Verweis

Erläuterung

 

Verwendung

Eingabekomponente im folgenden Code-Beispiel

1.

Auswahl einer Seite aus der Struktur-Verwaltung und ggf. eines Absatzes auf dieser Seite, auf die ein Klick auf den Verweis führen soll.
(Pflichtfeld, siehe Einleitung)

lt_reference

2.

Eingabe eines Verweistextes
(Pflichtfeld, siehe Einleitung)

lt_text

3.

Eingabe eines optionalen Kommentars, der als Tooltip zum Verweis angezeigt werden kann.

lt_comment

4.

Auswahl der Sprachversion, in der die Seite geöffnet werden soll. Auf diese Weise ist ein Verweis auf Seiten in einer anderen Sprachversion möglich, z. B. wenn die Seite noch nicht in der Sprache der Ausgangsseite existiert.

lt_language

   

Formular

<CMS_MODULE>

<FS_REFERENCE name="lt_reference" hFill="yes" useLanguages="no">
<FILTER>
<ALLOW type="pageref"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Target"/>
<LANGINFO lang="DE" label="Ziel"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="sitestore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>

<CMS_INPUT_TEXT name="lt_text" hFill="yes" singleLine="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Link text"/>
<LANGINFO lang="DE" label="Verweistext"/>
</LANGINFOS>
</CMS_INPUT_TEXT>

<CMS_INPUT_TEXT name="lt_comment" hFill="yes" singleLine="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Comment"/>
<LANGINFO lang="DE" label="Kommentar"/>
</LANGINFOS>
</CMS_INPUT_TEXT>

<CMS_INPUT_COMBOBOX name="lt_language" hFill="yes" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="language"/>
<LANGINFOS>
<LANGINFO lang="*" label="Language"/>
<LANGINFO lang="DE" label="Sprache"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

</CMS_MODULE>

Erläuterungen zur Formular-Konfiguration:

Über die Eingabekomponente lt_reference (vom Typ FS_REFERENCE) können mittels der Angabe von

<FILTER>
<ALLOW type="pageref"/>
</FILTER>

nur Seitenreferenzen aus dem aktuellen Projekt ausgewählt werden.

Ausgabe

Wichtig Im Folgenden werden nur minimale Code-Beispiele vorgestellt, die für eine Verwendung im produktiven Projekt entsprechend angepasst werden müssen. So wurde beispielsweise auf eine Nicht-Leer-Prüfung (z. B. $CMS_IF(!lt_reference.isEmpty)$ verzichtet. Ohne diese kann es im Produktiv-Projekt aber zu Generierungsfehlern kommen.

Verweise werden in HTML generell mit folgender Syntax ausgegeben:

<a href="[Verweisziel]">[Verweistext]</a>

Für das Verweisziel wird in der HTML-Ausgabe über die Verweisvorlage der Wert von lt_reference verwendet, für den Verweistext der Wert von lt_text:

<a href="$CMS_REF(lt_reference)$">$CMS_VALUE(lt_text)$</a>

Um einen im Formular durch den Redakteur gewählten Absatz der Seite (Anker) anzuspringen, wird der Referenzname des gewählten Absatzes über getSectionName ermittelt und mit dem Zeichen # ausgegeben.

Wichtig Um die Anker-Funktionalität in FirstSpirit nutzen zu können, muss bei Verwendung von FS_REFERENCE in den gewünschten Absatzvorlagen auf dem Register „Eigenschaften“, Bereich „Dateiendung“, das <a>-Tag aktiviert werden.

Kommentare aus dem Feld lt_comment können über das HTML-Attribut title als Tooltip zum Verweis ausgegeben werden.

Schließlich kann noch die über lt_language vom Redakteur gewählte Zielsprache des Verweises ausgelesen und berücksichtigt werden: Dazu wird das Attribut language bei der Auflösung der Referenz verwendet (siehe auch Seite $CMS_REF(...)$). Dieses Attribut erwartet als Wert ein für das Projekt gültiges Sprachkürzel, z. B. DE oder EN. Genau diese kann der Redakteur über die betreffende Combobox im Formular auswählen. Der gewählte und gespeicherte Wert kann über die Methode getKey ausgelesen werden.

Final könnte eine einfache beispielhafte Ausgabe des Verweises folgendermaßen aussehen:

 <a href="$CMS_REF(lt_reference, language:lt_language.getKey())$#$CMS_VALUE(lt_reference.getSectionName())$"
title="$CMS_VALUE(lt_comment)$">
$CMS_VALUE(lt_text)$
</a>

Schema

Interner Verweis Pflege und Ausgabe
 

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.13 | Datenschutz