baseportal
Suche: 
 Forum   Start 

tags - Tags einbinden

ab Version 3 
Verstecken Inhalt

Tag-Datenbank einbinden

Um eine Tag-Datenbank auf einer Seite einzubinden, gibt es das Tag tags:

<tags db="datenbank">

Dieses lädt alle Tags die in datenbank gespeichert sind und wertet die Seite ab dieser Stelle damit aus:

<meintag>...</meintag>
<tags db="datenbank">
<meintag>...</meintag>

Das erste Auftreten des Tags meintag wird also nicht ausgewertet, da seine Definition erst nach dem Laden der Tags aus datenbank in Kraft tritt.

Es gibt auch einen gleichnamigen Perl-Befehl tags, der sich genauso wie das Tag tags verhält:

<perl>
tags "tagdb";
</perl>

Es können auch mehrere Tag-Datenbanken eingebunden werden:

<tags db="tabdb1">
<tags db="tabdb2">

Die Reihenfolge ist wichtig, denn falls in tagdb2 gleichnamige Tags vorkommen, überschreiben diese diejenigen in tag-db1. Sie können allerdings angeben, ob sie dieses Überschreiben wollen:


Gültigkeit von Tags bestimmen

Durch die Angabe

tags "tabdb2", "+";

werden nur Tags übernommen, die noch nicht definiert sind.

Wichtig ist dies auch bei include: Standardmässig übernimmt eine eingebundene Seite alle Tag-Definitionen. Will man dies nicht, so muss man im include angeben, dass die Tags gelöscht werden sollen:

<include src="seite2" tags="*">

Somit sind nur die normalen baseportal-Tags gültig. Will man auch diese Tags verhindern, bedarf es der Angabe:

<include src="seite2" tags="-">

Damit sind wirklich überhaupt keine Tags mehr definiert. Die Angabe dieser Parameter ist auch im tags-Befehl möglich. So kann man in einer neuen Seite mit

tags "*";

bestimmen, dass, auch wenn diese Seite mit bereits definierten Tags aufgerufen wird, keine Tags ausser den baseportal-Tags ausgeführt werden. Natürlich kann dabei auch gleich eine bestimmte Tag-Datenbank eingebunden werden:

tags "tagdb", "*";

oder als Tag:

<tags db="tagdb" tags="*">


Hier eine Übersicht:


Nur ausgewählte Tags definieren

Der Parameter tags kann auch verwendet werden um nur bestimmte Tags aus einer Tags-Datenbank zu laden:

<tags db="tagdb" tags="tag1,tag2">

Lädt nur die Tags tag1 und tag2 aus der Tag-Datenbank tagdb.

Dies kann auch mit Tag-Gültigkeitsangaben gemischt werden:

<perl>
tags "tagdb", "+tag1,tag2";
</perl>

Lädt nur die Tags tag1 und tag2 aus der Tag-Datenbank tagdb, sofern sie nicht schon definiert wurden.


Tags ohne Datenbank definieren

Es ist auch möglich Tags ohne eine Tag-Datenbank zu definieren:

<tags tags="uc,lc">

Definiert die Tags "uc" und "lc" - diese müssen spätestens bei der ersten Verwendung als Routine definiert worden sein:

<perl>
sub uc
{
  uc($_);
}

sub lc
{
  lc($_);
}
</perl>

Es werden also die Perl-Funktionen uc() und lc() aufgerufen, so dass die Seite:

<uc>Dies ist ein Text</uc><br>
<lc>Noch mehr Text...</lc>

zu folgender Ausgabe führen würde:

DIES IST EIN TEXT
noch mehr text...

Die Definition von Tags ohne Datenbank funktioniert auch als Perl-Befehl:

<perl>
tags "uc,lc";
</perl>

Für den seltenen Fall, dass nur ein einziges Tag definiert werden soll, muss dies so angegeben werden:

<perl>
tags "", "meintag";
</perl>

Würde das erste "" weggelassen, würde es wie eine Tag-Datenbank-Definition aussehen.


Die Definition der Tag-Routinen kann in eine eigene Seite ausgelagert und mit

<include src="subs" tags="tag1,tag2">

geladen werden.


Tags mit einem Hash definieren

Weiterhin können Tags gesammelt in einem Hash definiert werden:

%meinetags=
(
  menu => sub { ... },
  adress => sub { ... },
);

tags \%meinetags;

Letzte Änderung am 31.10.2006, 07:50 - Stichworte: Tag-Datenbanken, Tag-Gültigkeit, tags, include

c - o - + 
© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!