Veröffentlichungsdatum: 23. April 2018
Änderungsdatum: 26. April 2018
weblication cms eingabefelder dynamisch pflegefeld pflegetags bedingt
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.
... <wslEditorPre:php> $objectDataName = 'generatortyp'; $validator = ''; // z.B. 'required' fuer ein Pflichtfeld if(stripos(wPageCur::getPath(), 'generator') !== FALSE){ print 'Generatortyp<br />'; $webtagStart = '<!-'.'-'.'web:text:start webtagId="generatortyp.news.wObject" active="1"" editor="input" validator="<xsl:value-of select="$validator"/>" decorators="default" caption="Generatortyp" valueDefault="<xsl:value-of select="wd:fragment[@id = \'valueDefault\']/text()"/>" xPathEdit="document(concat($wDocumentRoot, $wCurrentPath))/wd:document/wd:extension/wd:object/wd:data[@id = \''.$objectDataName.'\']/text()" -'.'->'; $xslTag = '<xsl:value-of select="document(concat($wDocumentRoot, $wCurrentPath))/wd:document/wd:extension/wd:object/wd:data[@id = \''.$objectDataName.'\']/text()"/>'; $webtagStop = '<!-'.'-'.'web:text:stop'.'-'.'->'; print $webtagStart.$xslTag.$webtagStop; } </wslEditorPre:php> ...
Diese Technik ermöglicht Ihnen eine flexible Umsetzung unterschiedlichster Szenarien.