So setzen Sie eine Dateiauswahlbox im Editor um

14. Apr 2010

Dieser Artikel beschreibt, wie Sie für die Dateibearbeitung über den Select-Texteditor Dateien zur Auswahl anbieten können. Dies wird z.B. in den Beispielprojekten innerhalb Listendateien zur Auswahl des Darstellungs-Templates verwendet.

Um in der Seitenbearbeitung dem Benutzer z.B. in den Listenoptionen unterschiedliche Zeilentemplates zur Auswahl anzubieten, können Sie dies über den Texteditor-Select realisieren:

Beispiel: Auszug aus einem Bearbeitenelement (z.B. list.standard.wItem.php) mit Auswahl über ein Script

...
<!-- web:text:start editor="select" script="/de/wGlobal/scripts/editor/getListTemplates.php?pathProject=/deGlobal" validator="" errorMessage="" inputStyle=""--><xsl:value-of select="wd:fragment[@id='listtemplate']/text()"/><!-- web:text:stop -->
...

Beispiel: getListTemplates.php Script, das zur Auswahl verwendet wird

<?php

  
require_once($_SERVER['DOCUMENT_ROOT']."/weblication/grid.php");
  
  
$userType wUserCur::getType();
  
  if(
$userType != 'admin' && $userType != 'standard'){
    exit;
  }

  
$query              = array();
  
$query['dir']       = wRequest::getParameter('pathProject').'/wGlobal/layout/templates/lists';
  
$query['filterset'] = array('type' => 'and', array('wPath' => '/wd:stat/@name''operator' => 'contains''condition' => '.wFilelist.php'));

  
$files wRepository::selectDocuments($query);
  
  
$result '<entries>';
  
  foreach(
$files as $file){
    
$title wDocumentData::getData($file'/wd:extension/wd:meta/wd:title/text()');
    if(
strstr($file'album') == TRUE){
      
$isDisabledStr 'disabled="disabled"';
    }
    else{
      
$isDisabledStr '';
    }
    if(
$userType == 'admin'){
      
$result .= '<entry '.$isDisabledStr.' value="'.$file.'">'.$title.' ('.preg_replace("/\..*/"""wPathName::getFileNameOnly($file)).')</entry>';
    }
    else{
      
$result .= '<entry value="'.$file.'">'.$title.'</entry>';
    }  
  }
  
$result .= '</entries>';  

  print 
$result;

?>

Das oben angeführte Script liest über die Repository-Funktion das Verzeichnis der Listentemplates (Darstellungstemplates) aus und gibt über die DocumentData-Funktion in der Auswahlbox den Pfad und den Titel der gefundenen Dateien aus.

Ähnliche Seiten

Entwicklerbereich Weblication® CMS - © Scholl Communications AG