CMS-Template-Erweiterungen

Aus MAXcms

Wechseln zu: Navigation, Suche

Das CMS kann auf verschiedene Elemente im HTML-Code reagieren und die Ausgabe der Seite beeinflussen.

z.B. die CMS-Variablen als Ausgabe oder im Zusammenhang IF-Bedingungen.

Inhaltsverzeichnis

[bearbeiten] Blöcke ausblenden

Bei manchen von einem Modul erzeugten Ausgaben soll ein ganzer Block ausgeblendet werden, wenn darin eine bestimmte Ausgabe nicht erfolgt. z.B. bei der Zeile

Geburtsdatum: 1.2.1970

soll die ganze Zeile inkl "Geburtsdatum:" ausgeblendet werden, wenn das Datum dahinter fehlt, dann kann folgendes eingefügt werden.

<!-- showif -->
 Geburtsdatum: <!-- notempty -->1.2.1970<!-- /notempty -->
<!-- /showif -->

Dabei wird der ganze Block zwischen <!-- showif --> und <!-- /showif --> ausglendet, wenn zwischen <!-- notempty --> und <!-- /notempty --> nichts steht.

Der Block <!-- notempty --> ... <!-- /notempty --> darf nur innerhalb von <!-- showif --> ... <!-- /showif --> eingefügt werden, da sonst der Zusammenhang nicht hergestellt werden kann.

[bearbeiten] Blöcke einblenden

Es kommt aber auch vor, daß ein Block immer dann angezeigt werden soll, wenn ein anderer Inhalt nicht vorhanden ist, quasi als Default-Wert.

<!-- showif -->
 Allgemeiner Text <!-- isempty -->Spezieller Text<!-- /isempty -->
<!-- /showif -->

In diesem Fall würde der "spezielle Text" angezeigt werden.

<!-- showif -->
 Allgemeiner Text <!-- isempty --><!-- /isempty -->
<!-- /showif -->

In diesem Fall würde der "allgemeine Text" angezeigt werden.

Wichtig ist auch hier, daß der "isempty"-Block nur innerhalb des "showif"-Blocks vorkommen darf um den Zusammenhang herstellen zu können.

[bearbeiten] Code-Tags

In den HTML-Code können noch erweiterte Tags eingefügt werden, die vor der Ausgabe an den Browser den HTML-Code nochmal verändern können.

Beispiel:

<2date>2008-02-15</2date> ergibt die Ausgabe  15.02.2008
<2date>2008-02-15 15:12:34</2date> ergibt auch die Ausgabe  15.02.2008
htmlspecialchars
2datetime 
macht aus z.B. 2008-02-15 12:15:12 die Ausgabe: 15.02.2008 12:15:12
2date 
macht aus z.B. 2008-02-15 12:15:12 die Ausgabe: 15.02.2008
nl2br 
nobr 
filename 
extraheirt mit der basename()-Funktion aus einem Pfad mit Dateinamen nur den Dateinamen.
teaser 
euro 
Macht aus 123.45 einen Euro-Wert im Format: 123,45 €
urlencode 
cmsol 
cmsul 
strip 
Entfernt alle unnötigen Leerzeichen und Umbrüche
externlink 
ucase 
Wandelt den eingeschlossenen Text in Großbuchstaben um
lcase 
Wandelt den eingeschlossenen Text in Kleinbuchstaben um

[bearbeiten] eigene Code-Tags

Die Liste der vorhandenen Code-Tags kann im Projekt noch beliebig erweitert werden.

folgendes Beispiel implementiert ein neues <euro>-Tag, welches nicht fest 2 Nachkommastellen anzeigt, sondern maximal 4, aber die 4 und 3 Nachkommastelle entfernt, wenn diese nur 0 enthalten:

$GLOBALS["thCMS_config"]["extratags"][] = array("tagname" => "euroshop", "tagfunction" => "euroshopconvert");

function euroshopconvert($E) {
	// {{{
	$res = number_format($E,4,",",".");
	
	if(substr($res,-1)=="0") $res = substr($res, 0, -1);
	if(substr($res,-1)=="0") $res = substr($res, 0, -1);
		
	$res .= " €";
	return($res);
	// }}}
}

Innerhalb eines Tempates kann dann an jeder Stelle folgendes verwendet werden.

<euroshop>12.345756<euroshop> ==> 12.3457 €
<euroshop>12.3400<euroshop> ==> 12.34 €
<euroshop>12.2<euroshop> ==> 12.20 €
Persönliche Werkzeuge