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-LAYOUT-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">/[IHR-LAYOUT-PROJEKT]</xsl:variable>

  <xsl:variable name="wNavidStandard"><xsl:value-of select="php:functionString('wNavigation::getNavId', concat($wProjectPath, '/wGlobal/content/navigations/all.wNavigation.php'), $wDocumentURL)" /></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="$wViewMode = 'mobile'">/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/styles/mobile.css</xsl:when><xsl:otherwise>/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/styles/design.css</xsl:otherwise></xsl:choose></xsl:variable>
  <xsl:variable name="wCSSNaviPath"><xsl:choose><xsl:when test="$wViewMode = 'mobile'"></xsl:when><xsl:otherwise>/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/styles/navigation.css</xsl:otherwise></xsl:choose></xsl:variable>
  
  <xsl:variable name="isMobileUserAgent"><xsl:value-of select="php:functionString('wEnv::getGlobalValue', 'wIsMobileUserAgent')" /></xsl:variable>  

  <!-- Sprachvariable wird standardmässig fest auf "de" gesetzt: -->
  <xsl:variable name="wLanguageProject">de</xsl:variable>
  
  <!--  Beim Einsatz mehrerer Sprachen bitte die obere Zeile auskommentieren
        und nachfolgende Zeile mit dynamischer Abfrage einkommentieren:
  <xsl:variable name="wLanguageProject"><xsl:value-of select="php:functionString('wProjectCur::getLanguage', $wProjectPath)" /></xsl:variable>    
  -->   
  
</xsl:stylesheet>

Bedeutung und Funktion der Parameter

wHostURL
Adresse des HTTP-Hosts des Servers

wRequestURL
URL der aktuellen Anfrage

wDocumentRoot
Absoluter Pfad zur DocumentRoot

wDocumentPath
Relativer Pfad zum aktuellen Dokument (ausgehend von der DocumentRoot)

wDocumentDir
Relativer Pfad zum Verzeichnis des aktuellen Dokuments (ausgehend von der DocumentRoot)

wDocumentQuery
Querystring des aktuellen Dokuments

wDocumentURL
Absolute Adresse des Dokuments

wProjectPath
Pfad zum aktuellen Projekt

wUsertype
Type des aktuell eingeloggten Benutzers (leer, falls kein Benutzer eingeloggt)

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

wNavidStandard
Standard NavID

wViewMode
Ansichtsmodus

wCSSPath
Pfad zur CSS-Datei des gewählten Layouts

wCSSNaviPath
Pfad zur Navigations-CSS-Datei des gewählten Layouts

isMobileUserAgent
Angabe, ob ein mobiles Endgerät die Seite aufruft

wLanguageProject
Sprache des aktuellen Projektes