Contao Insert Tags - flexibel, praktisch, gut.
Contao Insert-Tags nutzen - Tipps, Hinweise, Anleitung
Grundsätzlich betrachtet sind Contao Insert Tags Ersetzungen. Sie werden als Platzhalter an verschiedenen Stellen eingesetzt. Je nach Inserttag werden dann die entsprechenden Inhalte oder Funktionen an dieser Stelle angezeigt bzw. verwendet.
Ein Contao Insert Tag besteht immer aus aus zwei öffnenden, geschweiften Klammern und zwei schließenden, geschweiften Klammern. Dazwischen steht das entsprechende Schlüsselwort. Bei Insert Tags die Argumente benötigen, werden diese, von zwei Doppelpunkten getrennt, an das Schlüsselwort angehängt.
{{page::pageTitle}}
Hier wird nach den beiden geschweiften Klammern das Schlüsselwort "page" verwendet. Alle Insert-Tags für Seiteneigenschaften haben das Schlüsselwort "page".
Getrennt durch zwei Doppelpunkte folgt das Argument, in diesem Beispiel "pageTitle". Danach wird das Tag geschlossen, durch die beiden schließenden, geschweiften Klammern.
Die Inserttags sind in Gruppen aufgeteilt. Aktuell gibt es folgende Gruppen:
Betrachten wir kurz die einzelnen Insert-Tag Gruppen und ein paar nützliche Beispiele daraus:
Die Insert-Tags sind hilfreich, wenn auf andere Inhalte verlinkt werden soll. So gibt es Inserttags, die auf Seiten oder Artikel erstellen. Manche Insert Tags sind in Contao Templates sehr gut einsetzbar, beispielsweise wenn es um SEO (Suchmaschinenoptimierung) geht.
Einige hilfreiche Contao Inserttags aus diesem Bereich sind:
{{link::*}}
- Bei Benutzung wird an der eingesetzten Stelle das Tag durch den gewünschten HTML-Code des Links ersetzt. Über den Parameter kann eine ID oder der Alias einer Seite eingesetzt werden. Natürlich kann auch jede "normale" URL als Parameter mitgegeben werden.
{{article::*}}
- Eine sehr effiziente Möglichkeit, auf einen ganzen Contao Artikel zu verlinken. Auch hier kann über den Parameter der Artikel durch die Verwendung der ID oder dem Alias verlinkt werden.
{{link_url::*}}
- Im Gegensatz zum {{link::*}} Insert Tag wird hier auf die URL einer vorhandenen internen Seite verlinkt. Die interne Seite wird wiederum als Parameter übergeben. So könnte ein Link auf eine interne Seite mit dem Link Text "Mehr lesen" aussehen wie folgt: <a href="{{link_url::18}}">Mehr lesen</a>
Es gibt noch viele weitere Insert Tags aus diesem Bereich. Am Ende des Beitrages ist ein Link zum Contao Handbuch, welches alle Contao Insert Tags auflistet und beschreibt.
Bei Webprojekten, die einen internen Bereich haben an dem man sich anmelden muss ist es hilfreich, Eigenschaften des angemeldeten Benutzers auslesen und verwenden zu können. Im einfachsten Beispiel, dass wir alle schon einmal gesehen haben, wird der angemeldete Benutzer mit Namen auf der Startseite des internen Bereiches begrüßt. Dafür gibt es mehrere Inserttags, die dafür in Frage kommen.
{{user::*}}
- Hiermit ist es möglich, nach Benutzeranmeldung den Inhalt eines bestimmten Datenbankfeldes der Tabelle tl_member auszuliefern. Über den Parameter wird der gewünschte Feldname, dessen Inhalt angezeigt werden soll, ausgewählt.
{{user::firstname}}
- Hier wird das Tag durch den Vornamen des angemeldeten Frontend-Benutzers ersetzt.
Ebenso wie bei {{user::firstname}}
gibt es viele weitere Möglichkeiten für spezifische Informationen des angemeldeten Benutzers. Alle weiteren Inserttags aus dieser Gruppe finden sich ebenfalls im Contao Handbuch.
Bei SEO Maßnahmen kann durch diese Insert Tags sehr gut auf notwendige Seiteneigenschaften referenziert werden. So gibt es beispielsweise für die beiden gebräuchlichen Onpage-SEO ToDos die passenden Insert Tags:
{{page::pageTitle}}
- hiermit wird der Titel der aktuellen Seite auf der das Insert Tag verwendet wird, ausgegeben.
{{page::description}}
- hiermit wird die Description der aktuellen Seite angezeigt.
Ob in Templates oder Erweiterungen die SEO-Funktionen beinhalten, sind diese Insert Tags hilfreich.
Hier finden sich Insert Tags, die im Bereich Technik, bzw. Backend-Entwicklung nützlich sein können. Beispielsweise:
{{env::ip}}
- bei Verwendung dieses Insert Tags wird die IP-Adresse des aktuellen Besuchers angezeigt.
Hier ist ein sehr mächtiges Werkzeug. Beispielweise könnte es sein, dass bestimmte Texte mehrfach verwendet werden sollen. Die zugehörigen Artikel können mit dem passenden Insert Tag problemlos mehrfach an der gewünschte Stelle ausgeliefert werden:
{{insert_article::*}}
- Über den Parameter wird die gewünschte Artikle-ID bzw. der gewünschte Artikel-Alias übergeben, der an der gewünschte Stelle ausgegeben werden soll.
Hier findet sich im Contao Handbuch die Aufzählung mit allen, weiter nutzbaren Insert Tags. Der Flexibilität wird fast keine Grenze gesetzt. Hier ist interessantes Beispiel:
{{email::*}}
- ein sehr hilfreiches Tag, wenn man die E-Mail Adresse angeben muss, wie es beispielsweise im Impressum oder der Datenschutzerklärung gefordert wird. Als Parameter wird die anzuzeigende E-Mail Adresse übergeben. Diese wird zwar angezeigt aber kodiert. Dadurch wird Spamharvestern das Leben erheblich schwerer gemacht, an die E-Mail Adressen zu gelangen.
Aber sicher. Eigene Contao Inserttags sind vergleichsweise einfach zu erstellen. Natürlich geht es nicht ohne Programmierkenntnisse in Contao. Wer die hat kann das ganz einfach machen. Das nachfolgende Beispiel funktioniert ab Contao 4.9
Im Root-Verzeichnis der Contao-Installation die Datei src/EventListener/MyCustomTagListener.php
anlegen.
Die erstellte Datei muss folgenden Code beinhalten:
namespace App\EventListener;
use Contao\CoreBundle\ServiceAnnotation\Hook;
/**
* @Hook("replaceInsertTags")
*/
class MyCustomTagListener
{
public function __invoke(string $tag)
{
if ('mytag' === $insertTag) {
return 'mytag replacement';
}
return false;
}
}
Ja, Contao Inserttags können verschachtelt werden. Als Bedingung gilt, dass die jeweiligen Insert Tags eine ID oder einen Alias als Ausgabe haben. Ist das gewährleistet, sieht eine Verschachtelung etwa so aus:
{{link_url::{{page::id}}}}#sprungmarke
- hier werden zwei Tags gemeinsam verwendet. link_url und page::id. Dazu kommt eine Sprungmarke, die angesprungen werden soll. Dieses Technik kommt besonders häufig bei Onepagern zum Einsatz.
Contao Insert Tags sind ein flexibles Inhaltselement. Man kann sie bereits beim Seitenlayout oder im Modul berücksichtigen und beispielsweise in der Template Datei einbinden. Durch die Vielzahl an Insert Tags, kann man sie auch bei vielen anderen Aufgabenstellungen einbinden. Sie ersetzen die oft mehrfache Eingabe von gleichen Informationen. Tag auswählen, an gewünschte Stelle gehen, einbinden und dabei noch Arbeit sparen. Das geht mit den Contao Inserttags.
Viel Erfolg.