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.