addFinishScript()

Syntax: system.addFinishScript(text)

Fügt den angegebenen Text ganz am Anfang der Seite ein.

Nutzen Sie diese Funktion, um von einer beliebigen Stelle aus im Code Text an den Anfang der Seite zu schreiben. Nützlich um z.B. in einem PHP-Widget die Ausgabepufferung mit ob_start() zu aktivieren.

Beispiel:

var text = '<?php ';
text += "header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); ";
text += "header('Last-Modified: ' . Gmdate('D, d M Y H:i:s') . ' GMT'); ";
text += "header('Cache-Control: no-store, no-cache, must-revalidate'); ";
text += "header('Cache-Control: post-check=0, pre-check=0', false); ";
text += "header('Pragma: no-cache'); ";
text += 'session_start(); ?>';

system.addFinishScript( text );

Fügt HTTP-Caching-Header-Informationen am Anfang der Seite ein.

encrypt()

Syntax: system.encrypt(text)

Verschlüsselt einen Text reversibel.

Wird in den Zeta-Producer-Formularen verwendet, um die E-Mail-Adresse des Formular-Empfängers auf der fertigen Website vor Spam-Robotern zu verstecken.

Beispiel:

system.encrypt("Hallo");

Liefert einen verschlüsselten Text.

error()

Syntax: system.error(message)

Löst einen Fehler aus und bricht die Verarbeitung ab.

Die Fehlermeldung message wird auf dem Bildschirm ausgegeben.

Beispiel:

if ( !project.url ) { 
	system.error("Bitte geben Sie die URL Ihrer Website ein.");
}

Bricht das Erstellen einer Seite ab, wenn der Benutzer keine Website-Adresse eingegeben hat.

generator

Syntax: system.generator

Enthält den Programmname und -Version von Zeta Producer. Diese Eigenschaft kann im meta-generator-Tag verwendet werden.

Beispiel:

<meta name="generator" content="<$= system.generator $>" />

htmlDecode()

Syntax: system.htmlDecode(text)

Dekodiert eine HTML-Zeichenfolge und gibt diese dekodiert zurück.

Beispiel:

system.htmlDecode("&​lt;p&​gt;Mein Text&​lt;/p&​gt;")

Liefert die Zeichenfolge "<p>Mein Text</p>" zurück.

htmlEncode()

Syntax: system.htmlEncode(text)

Kodiert eine Zeichenfolge in HTML und gibt diese kodiert zurück.

Beispiel:

system.htmlEncode("<p>Mein Text</p>")

Liefert die Zeichenfolge "&lt;p&gt;Mein Text&lt;/p&gt;" zurück.

less()

Syntax: system.less(expression)

Führt einen Ausdruck in der LESS-Stylesheet-Sprache aus und gibt das Ergebnis als Zeichenfolge zurück.

Zeta Producer unterstützt weitestgehend den Syntax-Umfang der Less CSS for .NET-Bibliothek.

Im Gegensatz zur Funktion lessBlock() wird in der less()-Funktion ein Ausdruck direkt evaluiert. Die lessBlock()-Funktion benötigt einen vollständigen CSS-Block, kann also z.B. nicht für Inline-CSS mit LESS-Syntax verwendet werden.

Beispiel:

system.less("darken(#4D926F, 10%)")

Verdunkelt den HTML-Farbwert #4D926F um 10 Prozent und gibt das Ergebnis als Zeichenfolge zurück.

lessBlock()

Syntax: system.lessBlock(expression)

Führt einen Ausdruck in der LESS-Stylesheet-Sprache aus und gibt das Ergebnis als Zeichenfolge zurück.

Diese Version der Funktion nutzt intern die Less CSS for .NET-Bibliothek und unterstützt somit den gesamten Funktionsumfang dieser Bibliothek. Im Gegensatz zur less()-Funktion ist hier kein Zugriff auf Varianten-Werte und andere Zeta-Producer-spezifische Konstrukte möglich.

Die less()-Funktion evaluiert im Gegensatz zur Funktion lessBlock() einen Ausdruck direkt. Die lessBlock()-Funktion hingegen benötigt einen vollständigen CSS-Block, kann also z.B. nicht für Inline-CSS mit LESS-Syntax verwendet werden.

Beispiel:

<$= system.lessBlock("#header { color: darken(#4D926F, 10%); }") $>

Verdunkelt den HTML-Farbwert #4D926F um 10 Prozent und gibt das gesamte Ergebnis als Zeichenfolge zurück:

#header { color: #3b7156; }

log()

Syntax: system.log(text)

Schreibt eine Meldung in die Protokolldatei von Zeta Producer.

Beispiel:

system.log("Erstelle Suchindex für Seite '" + p.name + "'.");

markdown()

Syntax: system.markdown(md)

Konvertiert eine Markdown-Zeichenfolge nach HTML.

Anwender können in Artikeln mit dem entsprechenden Widget-Feld Markdown eingeben. Über einen system.markdown-Aufruf wird der Text nach HTML konvertiert.

Zeta Producer verwendet als Markdown-Renderer die Bibliothek CommonMark.NET, die die CommonMark-Spezifikation abbildet.

partial(filename, param1, param2, ...)

Syntax: system.partial(filename)

Lädt ein Partial und führt es aus.

Geben Sie optional Parameter an, auf die Sie innerhalb des Partials über context.param(index) oder context.param(index, Standardwert) zugreifen.

Beispiel:

system.partial("begin.html");

Lädt das Partial begin.html. Der Inhalt des Partials wird gelesen, ausgeführt und das Ergebnis an dieser Stelle eingefügt.

Sie können sowohl integrale Typen (Strings, Integer, usw.) als auch JSON-Objekte als Parameter an ein Partial übergeben. Sind vielen Parameter zu übergeben, bietet es sich an, mit einem JSON-Objekt zu arbeiten, da dort die Parameter über ihren Namen angesprochen werden können und nicht nur per Index.

Partial-Aufruf mit integralen Typen

Ein Partial-Aufruf mit integralen Parameter-Typen sieht z.B. so aus:

system.partial("mein-partial.html", 10, 20, "abc");

Hier werden drei Wert Parameter übergeben; zwei Integer-Zahlen und eine Zeichenfolge.

Innerhalb eines Partials greifen Sie dann per Index (0..n) auf die Parameter zu:

var pageId = context.param(0);
var level = context.param(1);

Sie können auch zusätzlich Standard-Werte angeben:

var pageId = context.param(0, 444);
var level = context.param(1, 333);

Die Variable pageId wird dann entweder mit dem Wert von Parameter 0 gefüllt, oder, falls beim Aufruf kein Parameter 0 übergeben wurde, mit dem Wert 444.

Partial-Aufruf mit JSON-Objekt

Ein Partial-Aufruf mit einem JSON-Objekt kann z.B. so aussehen:

<$=system.partial("partial.html", {"name1": "Zeta", "name2": "Producer"})$>

Der Zugriff auf ein so übergebenes JSON-Objekt erfolgt innerhalb eines Partials dann im einfachsten Fall:

var json = context.param(0);
var name1 = args["name1"];
var name2 = args["name2"];

In der Praxis sollten Sie innerhalb eines Partials auch mit unvollständig übergebenen Parametern umgehen können:

var json = context.param(0, {});
var name1 = args["name1"] || "Kein name1";
var name2 = args["name2"] || "Kein name2";

Hier wurde zunächst versucht das JSON-Objekt zu lesen. Wenn keines übergeben wurde, wird der Standard-Wert {} (also ein leeres JSON-Objekt) verwendet.

Anschließend werden die Variablen name1 und name2 gefüllt. Es wird entweder der JSON-Wert gelesen, oder, falls dieser nicht angegeben wurde, ein Standardwert ("Kein name1" bzw. "Kein name2").

preview

Syntax: system.preview

Boolescher Wert, der angibt, ob das aktuelle Skript im Kontext einer Vorschau-HTML-Seite oder einer Ausgabe-HTML-Seite ausgeführt wird.

Zeta Producer erstellt immer zwei Versionen einer Seite:

  • Eine Vorschau-Seite, die im Hauptfenster von Zeta Producer angezeigt wird und Bearbeitungs-Elemente ("Inline Editing") enthält.
  • Ein Ausgabe-Seite, die später 1:1 auf den Webserver per FTP kopiert wird.

Beispiel:

<$ if ( system.preview ) { $>
	<p>Sie sehen die Vorschau-Seite.</p>
<$ } } else { { $>
	<p>Sie sehen die Fertige-Seite.</p>
<$ } $>

removeHtmlTags()

Syntax: system.removeHtmlTags(text)

Entfernt alle HTML-Tags aus einer Zeichenfolge und gibt die neue Zeichenfolge zurück.

Es werden die HTML-Tags gelöscht, die Texte zwischen den HTML-Tags bleiben erhalten.

Beispiel:

system.removeHtmlTags("<p>Zeta Producer ist <em>das</em> CMS.</p>")

Liefert eine Zeichenfolge "Zeta Producer ist das CMS." zurück.

showEmptyPreviewAreas

Syntax: system.showEmptyPreviewAreas

Gibt den Status der "Einfügen an/aus"-Schaltfläche im Hauptfenster rechts oben zurück:

  • true, wenn die Schaltfläche auf "an" steht.
  • false, wenn die Schaltfläche auf "aus" steht.

Beispiel:

<$ if ( system.showEmptyPreviewAreas ) { $>
	<p>Die Schaltfläche "Einfügen an/aus" steht auf "an".</p>
<$ } } else { { $>
	<p>Die Schaltfläche "Einfügen an/aus" steht auf "aus".</p>
<$ } $>

Wenn die Schaltfläche "Einfügen an/aus" auf "an" steht, dann werden auch deaktivierte Artikel (mit rotem Rand) angezeigt. Außerdem können Sie im Modus "an" Artikel in leere Bereiche einfügen.

warn()

Syntax: system.warn(text)

Schreibt einen Warnungs-Text in das Erstellprotokoll. Die Verarbeitung wird nicht abgebrochen.

Beispiel:

var imageId = article.value("Bild");
var image = project.getImage(imageId);
	
if ( isNull(image) ) {
    system.warn("Bild wurde nicht gefunden");
}

Gibt die Warnung aus "Bild wurde nicht gefunden", falls ein im Artikel referenziertes Bild nicht gefunden wurde.

writeFile()

Syntax: system.writeFile(filePath, content)

Erstellt eine Textdatei mit einem angegebenen Inhalt. Falls die Datei bereits vorhanden ist, wird sie überschrieben.

Beispiel:

var configFileName = "config.inc.php";
var configFilePath = project.outputFolder + "assets\\php\\" + configFileName;

var content = "...";

system.writeFile( configFilePath, content );

Schreibt den Inhalt der Variable content in die Datei "config.inc.php", im Ordner "assets\php\shop", relativ zum Ausgabe-Ordner.

storage

Syntax: system.storage : inMemoryStorage

previewBaseUrl

Syntax: system.previewBaseUrl : string

apachePreviewBaseUrl

Syntax: system.apachePreviewBaseUrl : string