wOutput::processPageStr
Generiert eine Seite
Funktionsaufruf
String processPageStr(String pageStr, String templateStr, Array parameters = array(), Array options = array())
Parameter
- pageStr
- XML-String des Dokumentes bzw. der Seite
- templateStr
- XSLT-String des Seitentemplates
- parameters
- Parameter
- wDocumentPath
- Pfad der aktuellen Datei
- wProjectLayoutPath
- Pfad zum Layout-Projekt
- options
- zur Steuerung der Transformation
Beispiel: Generiert die angegebene Seite
Quelltext
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/weblication/grid.php");
$documentPath = "/dev/dokumentationen/framework/klassen/wOutput.php";
$documentStr = wRepository::getDocumentContent($documentPath);
$templatesViewPath = "/devGlobal/wGlobal/layout/templates/blank.wDocument.php";
$templateViewStr = wRepository::getDocumentContent($templatesViewPath);
//Eigentliche Transformation der Seite
$pageStr = wOutput::processPageStr($documentStr, $templateViewStr, array(), array());
print $pageStr;
?>Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.
FAQs
- Wozu dient die Funktion processPageStr?
- Die Funktion <code class="codeInline">processPageStr</code> generiert eine Seite, indem sie einen Dokument- bzw. Seiten-XML-String mit einem XSLT-String (Seitentemplate) zu einer ausgabefertigen Seite transformiert.
- Wie lautet die Signatur von processPageStr?
- Die Funktion hat die Signatur: <code class="codeInline">String processPageStr(String pageStr, String templateStr, Array parameters = array(), Array options = array())</code>.
- Was ist <code class="codeInline">pageStr</code> in processPageStr?
- <code class="codeInline">pageStr</code> ist der XML-String des Dokuments bzw. der Seite, die transformiert werden soll.
- Was ist <code class="codeInline">templateStr</code> in processPageStr?
- <code class="codeInline">templateStr</code> ist der XSLT-String des Seitentemplates, also die Vorlage, mit der der <code class="codeInline">pageStr</code> verarbeitet wird.
- Welche Rolle spielen die Parameter <code class="codeInline">parameters</code> und <code class="codeInline">options?
- </code>parameters<code class="codeInline">enthält Parameter für die Transformation (z. B. projektspezifische Pfade/Angaben). </code>options<code class="codeInline">dient zur Steuerung der Transformation, also zum Beeinflussen des Transformationsverhaltens.
- Welche Parameter werden im Dokument explizit genannt?
- Als relevante Parameter/Angaben werden u. a. genannt: </code>parameters<code class="codeInline">(mit Hinweis auf </code>wDocumentPathPfad<code class="codeInline">der aktuellen Datei) sowie </code>wProjectLayoutPath<code class="codeInline">(Pfad zum Layout-Projekt).
- Wie sieht ein Beispiel für den Aufruf von processPageStr aus?
- Im Beispiel lädt das Skript den Dokumentinhalt (</code>$documentStr<code class="codeInline">) und den Templateinhalt (</code>$templateViewStr<code class="codeInline">) über </code>wRepository::getDocumentContent<code class="codeInline">, transformiert dann mit </code>wOutput::processPageStr($documentStr, $templateViewStr, array(), array())<code class="codeInline">und gibt </code>$pageStr<code class="codeInline">aus.
- Warum wird im Beispiel </code>grid.php<code class="codeInline">eingebunden?
- Im Beispiel wird </code>grid.php<code class="codeInline">über </code>require_once($_SERVER["DOCUMENT_ROOT"]."/weblication/grid.php")<code class="codeInline">referenziert, um Framework-Funktionen im eigenen Skript verfügbar zu machen.
- Muss das Framework bei der Einbindung von Funktionen in Weblication-Seiten erneut referenziert werden?
- Nein. Wenn Framework-Funktionen innerhalb einer Weblication® Seite eingebunden werden (z. B. über das PHP-Quelltext Element oder in einem XSL-Template über </code>wsl:php<code class="codeInline">), muss das Framework über </code>grid.php` nicht mehr referenziert werden.