Systemparameter bei der XSL-Transformation

Bei der XSL-Transformation stehen Ihnen in der BASE einige Parameter zur Verfügung, die Sie innerhalb der Transformation verwenden können. Damit Sie auf diese Parameter zugreifen können, muss im Standard-XSL-Stylesheet das Einbinden der Datei für die Ermittelung der Standardparameter vorgenommen werden:

Einbinden der Systemparameter (Auszug aus der standard.wDocument.php)

...
  <!-- System-Parameter einbinden -->
  <xsl:include href="$XSLTPRE[wDocumentRoot]/[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/misc/standard.wParams.php" wd:pathTemplate="misc/includes.global.php"/>
...

Aufbau und Inhalt der standard.wParams.php

<?php $version="1.0"; $encoding="UTF-8"; ?>
<?php exit; ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wslPre="http://weblication.de/5.0/wsl" xmlns:wslPost="http://weblication.de/5.0/wsl" xmlns:wslEditorPre="http://weblication.de/5.0/wsl" xmlns:wsl="http://weblication.de/5.0/wsl" xmlns:wd="http://weblication.de/5.0/wd" xmlns:php="http://php.net/xsl" exclude-result-prefixes="wd wslEditorPre wslPre wslPost wsl php" version="1.0">

  <!-- Hier werden die XSLT-Systemparameter definiert. Diese können mit $PARAMETERNAME verwendet werden (BITTE KEINE PARAMETER LÖSCHEN!) -->
  <xsl:param name="wHostURL"/>
  <xsl:param name="wRequestURL"/>
  <xsl:param name="wDocumentRoot"/>
  <xsl:param name="wDocumentPath"/>
  <xsl:param name="wDocumentDir"/>
  <xsl:param name="wDocumentQuery"/>
  <xsl:param name="wDocumentURL"/>
  <xsl:param name="wProjectPath"/>
  <xsl:param name="wUsertype"/>
  <xsl:param name="wIsInEditor"/>
  <xsl:param name="wIsLoggedIn"/>

  <xsl:variable name="wGlobalProjectPath">/default-wGlobal</xsl:variable>
  <xsl:variable name="wCurrentObjectType"><xsl:value-of select="/wd:document/wd:extension/wd:object/@type"/></xsl:variable>

  <xsl:variable name="wNavidStandard">
    <xsl:choose>
      <xsl:when test="$wIsInEditor">
        <xsl:value-of select="php:functionString('wNavigation::getNavId', concat($wProjectPath, '/wGlobal/content/navigations/all.wNavigation.php'), php:functionString('wRequest::getParameterSecure', 'path'), 0, 1)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="php:functionString('wNavigation::getNavId', concat($wProjectPath, '/wGlobal/content/navigations/all.wNavigation.php'), $wDocumentURL, 0, 1)"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <!--
  <xsl:variable name="wNavidMain"><xsl:value-of select="document(concat($wDocumentRoot, $wProjectPath, '/wGlobal/content/navigations/all.wNavigation.php'))/wNavigation/navPoint[descendant-or-self::navPoint[@id = $wNavidStandard]]/@id" /></xsl:variable>
  -->

  <xsl:variable name="wViewMode"><xsl:value-of select="php:functionString('wEnv::getGlobalValue', 'wViewMode')"/></xsl:variable>

  <xsl:variable name="wCSSPath"><xsl:choose><xsl:when test="php:functionString('wPageCur::getVar', 'wCSSPath') != ''"><xsl:value-of select="php:functionString('wPageCur::getVar', 'wCSSPath')"/></xsl:when><xsl:otherwise>/default-wGlobal/wGlobal/layout/styles/design.css</xsl:otherwise></xsl:choose></xsl:variable>
  <xsl:variable name="wCSSNaviPath"/>

  <xsl:variable name="wLanguageProject"><xsl:value-of select="php:functionString('wProjectCur::getLanguage', false())"/></xsl:variable>
  <xsl:variable name="wLanguageProjectISO"><xsl:value-of select="php:functionString('wProject::getLanguageCodeISO', $wLanguageProject)"/></xsl:variable>

  <xsl:variable name="wPageDisplayType"><xsl:value-of select="/wd:document/wd:extension/wd:object/wd:data[@id='pageDisplayType']/text()"/></xsl:variable>
  <xsl:variable name="wPageLayout"><xsl:choose><xsl:when test="/wd:document/wd:extension/wd:object/wd:data[@id='pageLayout']/text()"><xsl:value-of select="/wd:document/wd:extension/wd:object/wd:data[@id='pageLayout']/text()"/></xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable>

</xsl:stylesheet>

Bedeutung und Funktion der Parameter

wHostURL
Adresse des HTTP-Hosts des Servers
(z.B. https://dev.weblication.de)

wRequestURL
URL der aktuellen Anfrage (gleicher Wert wie bei wDocumentURL)
(z.B. /dev/grundlagen/index.php oder /dev/grundlagen/index.php?name=x)

wDocumentRoot
Absoluter Pfad zur DocumentRoot
(z.B. /var/www/htdocs)

wDocumentPath
Relativer Pfad zum aktuellen Dokument (ausgehend von der DocumentRoot)
(z.B. /dev/grundlagen/index.php)

wDocumentDir
Relativer Pfad zum Verzeichnis des aktuellen Dokuments (ausgehend von der DocumentRoot)
(z.B. /dev/grundlagen)

wDocumentQuery
Querystring des aktuellen Dokuments
(z.B. /dev/grundlagen/index.php)

wDocumentURL
URL des Dokuments (gleicher Wert wie bei wRequestURL)
(z.B. /dev/grundlagen/index.php oder /dev/grundlagen/index.php?name=x)

wProjectPath
Pfad zum aktuellen Projekt
(z.B. /dev)

wUsertype
Type des aktuell eingeloggten Benutzers (leer, falls kein Benutzer eingeloggt)
(z.B. admin)

wIsInEditor
Angabe, ob die Datei gerade im Editor ist (0|1)

wIsLoggedIn
Angabe, ob der aktuelle Besucher eingeloggt ist (0|1)

wGlobalProjectPath
Pfad zum globalen Projekt
(z.B. /dev-wGlobal)

wNavidStandard
Standard NavID
(z.B. 123456789)

wViewMode
Ansichtsmodus
(z.B. print)

wCSSPath
Pfad zur CSS-Datei des gewählten Layouts
(z.B. /dev-wGlobal/wGlobal/layout/styles/design.css)

wLanguageProject
Sprache des aktuellen Projektes
(z.B. de)

wLanguageProjectISO
Sprache des aktuellen Projektes als ISO-Wert (bei z.B. cn für China: zh)
(z.B. zh)