Dynamische Pflegefelder nutzen

Eingabefelder können Sie auch dynamisch erzeugen. Dies ermöglicht die Verfügbarkeit von Auswahlfeldern, Eingabefeldern, etc. in der Pflegemaske abhängig von individuellen Bedingungen.

Um in Pflegemasken (z.B. Objekt-Pflegemasken) bestimmte Eingabefelder, Auswahlfelder, etc. nur bei Bedarf anzuzeigen, können Sie diese über wslEditorPre-Bereiche dynamisch einbinden. wslEditorPre.php Bereiche ermöglichen u.a. das Setzen von Pflegetags während der Transformation.

Ein Anwendungsfall kann z.B. sein, daß Sie ein Eingabefeld (input) nur dann anzeigen, wenn der zu pflegende Dateipfad ein bestimmtes Kriterium hat. Nachfolgendes vereinfachtes Beispiel zeigt das Eingabefeld nur dann an, wenn im Dateipfad der aktuell zur Bearbeitung geöffneten Datei der String "generator" vorkommt.

Beispiel: Auszug aus einem Objekt-Template mit dynamischem Eingabefeld

...
<wslEditorPre:php>
  $objectDataName = 'generatortyp';
  $validator      = ''; // z.B. 'required' fuer ein Pflichtfeld

  if(stripos(wPageCur::getPath(), 'generator') !== FALSE){
    print 'Generatortyp&lt;br /&gt;';
    $webtagStart    = '&lt;!-'.'-'.'web:text:start webtagId="generatortyp.news.wObject" active="1"" editor="input" validator="&lt;xsl:value-of select="$validator"/&gt;" decorators="default" caption="Generatortyp" valueDefault="&lt;xsl:value-of select="wd:fragment[@id = \'valueDefault\']/text()"/&gt;" xPathEdit="document(concat($wDocumentRoot, $wCurrentPath))/wd:document/wd:extension/wd:object/wd:data[@id = \''.$objectDataName.'\']/text()" -'.'-&gt;';
    $xslTag         = '&lt;xsl:value-of select="document(concat($wDocumentRoot, $wCurrentPath))/wd:document/wd:extension/wd:object/wd:data[@id = \''.$objectDataName.'\']/text()"/&gt;';
    $webtagStop     = '&lt;!-'.'-'.'web:text:stop'.'-'.'-&gt;';
    print $webtagStart.$xslTag.$webtagStop;
  }
</wslEditorPre:php>
...

Diese Technik ermöglicht Ihnen eine flexible Umsetzung unterschiedlichster Szenarien.