Platzhalter beim Erstellen von Dateien in Vorlagen nutzen

Nutzbar ab: Version

Verwenden Sie Platzhalter, um bei Erstellen von Dateien die Datei- und Verzeichnispfade passend zur angelegten Datei zu setzen.

Beim Erstellen von Dateien auf Grundlage einer Dateivorlage mit Elementen (z.B. Listenoptionen) können Sie auf Platzhalter zurückgreifen. Auf diese Weise können Sie eine Weblication® CMS Liste (z.B. Bildergalerie) gleich mit den entsprechenden Pfaden zum Bildverzeichnis setzen.

Beispiel: Dateivorlage für eine neue Bildergalerie

Verwenden Sie beim Anlegen einer  neuen Bildergalerie eine Dateivorlage (Template), die bereits das Element für die gewünschte Bildergalerie (z.B. galleryFancybox) beinhaltet.

Um den Pfad zum auszulesenden Bilderverzeichnis gleich zu benennen wie die Datei der Bildergalerie, setzen Sie einen Platzhalter ein ($wDocumentCreatorInsert['fileNameOnly']).

Beispiel: Auszug aus der Dateivorlage vorlage-bildergalerie.php

...
<wd:item type="list.standard">
  <wd:fragment id="pathMastertemplate">/[IHR-LAYOUT-PROJEKT]/wGlobal/mastertemplates/items/gallery.standard.wItemMastertemplate.php</wd:fragment>
  <wd:fragment id="editmaskType">gallery</wd:fragment>    
  <wd:fragment id="listtemplate" type="src.default">/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/lists/galleryFancybox.wFilelist.php</wd:fragment>
  <wd:fragment id="dir" type="src.dir">/baseAssets/img/galleries/$wDocumentCreatorInsert['fileNameOnly']</wd:fragment>
  <wd:fragment id="dirRecursive" type="src.dir"/>
...

Verfügbare Platzhalter beim Erstellen einer neuen Datei

Folgende Platzhalter stehen für Dateivorlagen zur Verfügung:

  • $wDocumentCreatorInsert['userName']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Benutzernamen des Pflegebenutzers ersetzt.
    z.B.:
    $wDocumentCreatorInsert['userName'] -> mustermann
  • $wDocumentCreatorInsert['fileNameOnly']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Dateinamen (ohne Dateiendung) der neuen Datei ersetzt.
    Wird z.B. innerhalb /base/bildergalerien/ eine Datei mit dem Namen "galerie1.php" auf Grundlage der o.g. Dateivorlage erstellt, so wird der Platzhalter durch galerie1 ersetzt.
    z.B.:
    /baseAssets/img/galleries/$wDocumentCreatorInsert['fileNameOnly'] ->  /baseAssets/img/galleries/galerie1
  • $wDocumentCreatorInsert['dirName']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Namen des Verzeichnisses ersetzt, in dem die Datei angelegt wird.
    Wird z.B. innerhalb /base/bildergalerien/meine-Galerie eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch meine-Galerie ersetzt. 
    z.B.:
    /baseAssets/img/galleries/$wDocumentCreatorInsert['dirName'] ->  /baseAssets/img/galleries/meine-Galerie 
  • $wDocumentCreatorInsert['filePath']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Dateipfad der neuen Datei ersetzt.  
    Wird z.B. innerhalb /base/bildergalerien/ eine Datei mit dem Namen "galerie1.php" auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch /base/bildergalerien/galerie1.php ersetzt. 
    z.B.:
    /baseAssets/img/galleries$wDocumentCreatorInsert['filePath'] ->  /baseAssets/img/galleries/base/bildergalerien/galerie1.php 
  • $wDocumentCreatorInsert['dirPath']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Verzeichnispfad der neuen Datei ersetzt.   
    Wird z.B. innerhalb /base/bildergalerien/2012/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch /base/bildergalerien/2012 ersetzt. 
    z.B.:
    /baseAssets/img/galleries$wDocumentCreatorInsert['dirPath'] ->  /baseAssets/img/galleries/base/bildergalerien/2012  
  • $wDocumentCreatorInsert['firstSubdirPath']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Projektpfad inkl. erstem Unterverzeichnis der neuen Datei ersetzt.   
    Wird z.B. innerhalb /base/bildergalerien/2012/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch /base/bildergalerien ersetzt. 
    z.B.:
    /baseAssets/img/galleries$wDocumentCreatorInsert['firstSubdirPath'] ->  /baseAssets/img/galleries/base/bildergalerien   
  • $wDocumentCreatorInsert['projectPath']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Projektpfad der neuen Datei ersetzt.   
    Wird z.B. innerhalb /base/bildergalerien/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch /base ersetzt. 
    z.B.:
    /baseAssets/img/galleries$wDocumentCreatorInsert['projectPath'] ->  /baseAssets/img/galleries/base  
  • $wDocumentCreatorInsert['projectAssetsPath']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den Assets-Projektpfad der neuen Datei ersetzt.   
    Wird z.B. innerhalb /base/aktuelles/meldungen/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch das zugehörige Assets-Projektverzeichnis (z.B.: /baseAssets) ersetzt. 
    z.B.:
    src="$wDocumentCreatorInsert['projectAssetsPath']/img ->  /baseAssets/img  
    (ab CMS-Version 011.001.079.000 verfügbar)
  • $wDocumentCreatorInsert['uid']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch eine eindeutige ID (uid) ersetzt.   
    Wird z.B. innerhalb /base/veranstaltungen/termine/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch eine zufällige uid ersetzt. 
    z.B.:
    uid="$wDocumentCreatorInsert['uid']" ->  uid="a3971da4b088b986e81e532ae402f658"  
    (ab CMS-Version 011.001.079.000 verfügbar)
  • $wDocumentCreatorInsert['timestamp']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den aktuellen Zeitstempel (timestamp) ersetzt.   
    Wird z.B. innerhalb /base/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch den aktuellen Zeitstempel des Webservers ersetzt. 
    z.B.:
    time="$wDocumentCreatorInsert['timestamp']" ->  time="1426089385"  
    (ab CMS-Version 011.001.079.000 verfügbar)
  • $wDocumentCreatorInsert['day']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den aktuellen Tag des Monats (day) ersetzt.
    Wird z.B. innerhalb /base/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch den aktuellen Tag (zweistellig, z.B. 01 oder 17) des Webservers ersetzt.
    z.B.:
    time="xxxx-xx-$wDocumentCreatorInsert['day']" -> time="xxxx-xx-17"
    ( ab CMS-Version 015.002.056.000 verfügbar)
  • $wDocumentCreatorInsert['month']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch den aktuellen Monat (month) ersetzt.
    Wird z.B. innerhalb /base/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch den aktuellen Monat (zweistellig, z.B. 01 oder 12) des Webservers ersetzt.
    z.B.:
    time="xxxx-$wDocumentCreatorInsert['month']-xx" -> time="xxxx-09-xx"
    ( ab CMS-Version 015.002.056.000 verfügbar)
  • $wDocumentCreatorInsert['year']
    Beim Erstellen eines Dokumentes wird dieser Platzhalter in der Dateivorlage durch das aktuelle Jahr (year) ersetzt.
    Wird z.B. innerhalb /base/ eine Datei auf Grundlage der entsprechenden Dateivorlage erstellt, so wird der Platzhalter durch das aktuelle Jahr (vierstellig, z.B. 2020) des Webservers ersetzt.
    z.B.:
    time="$wDocumentCreatorInsert['year']-xx-xx" -> time="2020-xx-xx"
    ( ab CMS-Version 015.002.056.000 verfügbar)


Beispiel: Auszug aus dem Verzeichnisereignis für das Anlegen des Bildverzeichnisses der Galerie

Um das über den Platzhalter zusammengesetzte Verzeichnis auch als solches gleich zur Verfügung haben, legen Sie über die Verzeichniseinstellungen des Bildergalerieordners (im Beispiel: /base/bildergalerien) ein onAfterCreateFile Ereignis an. Als Aktion erstellen Sie über PHP-Framework Funktionen das gewünschte Bildverzeichnis im Assets-Projekt.

Beispiel: Inhalt des onAfterCreateFile Ereignisses mit Aktion zum Verzeichnis anlegen

// WICHTIG:
// Die PHP-Tags sind nur in diesem Quelltext-Beispiel gesetzt und
// und dürfen im Ereignisfenster nicht gesetzt werden (siehe Screen)
$fileNameOnly = wPathName::getFileNameOnly($eventData['filePath']);
$newDir = "/baseAssets/img/galleries/".$fileNameOnly;
$dirTemplate = "/baseAssets/weblication/templates/directories/standard";
wRepository::createDir($newDir, $dirTemplate);