Inhalt des Dateiexplorers beeinflussen

Nutzbar ab: Version 006.008.108.000

25. Jan 2012

Bestimmen Sie, welche Inhalte der Dateiexplorer dem Benutzer zur Verfügung stellen soll.

Sie können den Inhalt des Dateiexplorers, der z.B. über den Button "Inhalte verwalten" in der Präsenz aufgerufen wird,  über entsprechende Abfragen beeinflussen.

Beispiel 1: URL zum Produktshop einblenden

Dieses Beispiel führt an, wie Sie den Dateiexplorer nur für ein bestimmtes Projekt erweitern.

Im Beispiel wird innerhalb des Projektes /base ein zusätzlicher Bereich mit der URL zu einem Produktshop eingeblendet.

Beispiel: Auszug aus /IhrGlobalesProjekt/wGlobal/layout/fileselector/default.wFileselector.php

<?php $version="1.0"; $encoding="UTF-8"; ?>
<?php exit; ?>
<wFileselector xmlns:de="http://weblication.de/5.0/lang/de" xmlns:en="http://weblication.de/5.0/lang/en" xmlns:fr="http://weblication.de/5.0/lang/fr" xmlns:wsl="http://weblication.de/5.0/wsl">
                                                             
  <wFavorites display="" open="1" caption="Favoriten" en:caption="Favorites" fr:caption="Favoris"/>
  
  ...
  <wsl:ifValue value="$WSLPRE[wProjectPath]" operator="==" term="/base">
  <wURLs open="1" caption="Shop" en:caption="Shop" fr:caption="Shop">
    <url icon="/IhrGlobalesProjekt/wGlobal/layout/images/element-icons/element_gallery.gif" caption="Produktauswahl" en:caption="Articles" fr:caption="Articles" path="/IhrGlobalesProjekt/wGlobal/layout/fileselector/special-selector-example.php"/>    
  </wURLs>
  </wsl:ifValue>
  
  ...
      
</wFileselector>

Beispiel 2: Weitere Verzeichnisstruktur für Mitglieder einblenden

Den Redakteuren eines Mitgliederbereiches können Sie z.B. eine weitere Verzeichnisstruktur anzeigen, welche nur das Verzeichnis für den geschützten Bereich abbildet (z.B. /base/kundenbereich). Die Verzeichnisstruktur (wDirs) wird nur für Mitglieder der angegebenen Gruppe im Dateiexplorer ausgegeben.

Beispiel: Auszug aus /IhrGlobalesProjekt/wGlobal/layout/fileselector/default.wFileselector.php

<?php $version="1.0"; $encoding="UTF-8"; ?>
<?php exit; ?>
<wFileselector xmlns:de="http://weblication.de/5.0/lang/de" xmlns:en="http://weblication.de/5.0/lang/en" xmlns:fr="http://weblication.de/5.0/lang/fr" xmlns:wsl="http://weblication.de/5.0/wsl">
                                                             
  <wFavorites display="" open="1" caption="Favoriten" en:caption="Favorites" fr:caption="Favoris"/>

  <wDirs _display="select" de:captionSelect="Bitte wählen" en:captionSelect="Please select" open="1" caption="Häufig benötigt" en:caption="Frequently required" fr:caption="Souvent nécessaire">
    ...         
  </wDirs>

  ...
  <wsl:ifIsInGroup group="premiumkunden|chiefeditorship">
    <wDirs open="1" caption="Mitgliederbereich" en:caption="Members Area" fr:caption="Zone Membres">
      <wsl:ifHasPermissionDirectory path="/base/kundenbereich" permission="view">  
        <dir icon="/baseGlobal/wGlobal/layout/images/dir-icons/dir-locked.gif" caption="Dokumente" en:caption="" fr:caption="" path="/base/kundenbereich/dokumente"/>
      </wsl:ifHasPermissionDirectory> 
    </wDirs>
  </wsl:ifIsInGroup>
  ...
      
</wFileselector>

Beispiel 3: Individuelles Verzeichnis für Benutzer ermöglichen

Für Redakteure können Sie abhängig von deren Benutzername eine Verzeichnisstruktur anlegen und anzeigen lassen. Das Beispiel zeigt die Umsetzung über einen wsl:php Block, über den das entsprechende Verzeichnis generiert und bei Bedarf angelegt wird. Sofern in Ihrem Portal die Benutzer einen Benutzernamen gleich der E-Mail Adresse verwenden, können Sie bei Bedarf die Sonderzeichen beim Anlegen des Verzeichnisses umwandeln.

$version="1.0"$encoding="UTF-8"?>
<?php 
exit; ?>
<wFileselector xmlns:de="http://weblication.de/5.0/lang/de" xmlns:en="http://weblication.de/5.0/lang/en" xmlns:fr="http://weblication.de/5.0/lang/fr" xmlns:wsl="http://weblication.de/5.0/wsl">          
           
  ...          
                                                                       
  <wFavorites display="" open="1" caption="Favoriten" en:caption="Favorites" fr:caption="Favoris"/>
  
  <wDirs _display="select" de:captionSelect="Bitte wählen" en:captionSelect="Please select" open="1" caption="Häufig benötigt" en:caption="Frequently required" fr:caption="Souvent nécessaire">
    ...        
    <!-- Individuelle Ordner für Benutzer ermöglichen (Verzeichnisname über Benutzername des aktuellen Benutzers gesetzt) -->
    <wsl:php>
      $pathPersonalDocs = '/personalDocs/'.wUserCur::getName();
      // Falls Benutzername gleich E-Mail Adresse ist, können die Sonderzeichen bei Bedarf umgewandelt werden: (Eindeutigkeit selber prüfen!)
      //$pathPersonalDocs = '/personalDocs/'.wStringconverter::convertToDirName(wUserCur::getName());
      if(!wRepository::directoryExists($pathPersonalDocs)){
        wRepository::createDir($pathPersonalDocs);
        // ggf. einchecken und Rechte setzen: https://dev.weblication.de/dev/dokumentationen/framework/funktionen/wRepository-setPermissionsDirectory.php
      }
      <![CDATA[
        print '<dir icon="/baseGlobal/wGlobal/layout/images/dir-icons/dir-content.gif" caption="Meine Dateien" en:caption="My Documents" path="'.$pathPersonalDocs.'"/>';
      ]]>
    </wsl:php>         
  </wDirs>
  
  ...
  
  <wTree open="1" caption="Verzeichnisstruktur" en:caption="Directories" fr:caption="Structure de répertoire" path=""/>
      
</wFileselector>


?>

Mögliche Platzhalter

Folgende Platzhalter können Sie für die Abfrage verwenden:

  • $WSLPRE[wProjectPath]
    Pfad des aktuell aufgerufenen Projektes (z.B. /base)
  • $WSLPRE[wProjectGlobalPath]
    Pfad des globalen Projektes zum aktuell aufgerufenen Projekt (z.B. /baseGlobal)
  • $WSLPRE[wProjectAssetsPath]
    Pfad des Assets-Projektes zum aktuell aufgerufenen Projekt (z.B. /baseAssets)
  • $WSLPRE[wPath]
    Pfad, über den der Dateiexplorer aufgerufen wurde
  • $WSLPRE[wContextPath]
    Pfad, aus dessen Kontext der Dateiexplorer aufgerufen wurde
  • $WSLPRE[wProjectName]
    Projekttitel des aktuellen Projektes (siehe Projekteinstellungen)
  • $WSLPRE[wDirType]
    Typ des Verzeichnisses (aus dirType-Parameter des Exploreraufrufes)


Entwicklerbereich Weblication® CMS - © Scholl Communications AG