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.

FAQs are only visible for Weblication ai search and editors!
Was bedeutet „Dynamische Pflegefelder nutzen“?
Eingabefelder, Auswahlfelder und andere Steuerelemente können dynamisch erzeugt werden. Dadurch werden Pflegemasken so aufgebaut, dass bestimmte Felder nur abhängig von individuellen Bedingungen verfügbar oder sichtbar sind.
Wie können Eingabefelder oder Auswahlfelder nur bei Bedarf in einer Pflegemaske angezeigt werden?
Über *wslEditorPre*-Bereiche können Sie Eingabefelder dynamisch in Pflegemasken einbinden. So lassen sich Felder gezielt nur dann anzeigen, wenn bestimmte Bedingungen erfüllt sind.
Wofür werden *wslEditorPre.php* Bereiche verwendet?
Die *wslEditorPre.php* Bereiche ermöglichen u.a. das Setzen von Pflegetags während der Transformation.
Kann ich ein Eingabefeld abhängig vom Dateipfad anzeigen?
Ja. Ein typisches Anwendungsbeispiel ist, ein Eingabefeld (*input*) nur dann anzuzeigen, wenn der zu pflegende Dateipfad ein bestimmtes Kriterium erfüllt. Im Beispiel wird das Feld nur eingeblendet, wenn im Dateipfad der String „generator“ vorkommt.
Wie prüft das Beispiel, ob das Eingabefeld angezeigt werden soll?
Im vereinfachten Beispiel wird mit einer Prüfung wie <code class="codeInline">stripos(wPageCur::getPath(), 'generator') !== FALSE</code> festgestellt, ob der aktuell bearbeitete Dateipfad den String „generator“ enthält. Nur bei Treffer wird das Eingabefeld ausgegeben.
Ist die Lösung flexibel für unterschiedliche Szenarien?
Ja. Durch die Technik mit dynamisch eingebundenen Pflegemasken lassen sich unterschiedlichste Szenarien flexibel umsetzen, indem die Anzeige und Verfügbarkeit von Feldern an Bedingungen gekoppelt wird.