- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FS5 api: vom EditorWrapper zu EditorValue - deprecated warning
Hallo Community.
Im konkreten Anwendungsfall geht es darum, diverse relevante Tabellenspalten der Entity einer Contentprojektion iterativ auszugeben, um damit meta-tags im Head der Seiten zu befรผllen. Es handelt sich dabei um einen recht generischen Ansatz, um nicht jedes Feld explizit beim Namen nennen zu mรผssen.
Nun zum Problem:
Auf versch. Feldern liefert ein entity.getValue("attrName") nur einen EditorWrapper zurรผck, und nicht das erwรผnschte EditorValue. Wenn mich nicht alles tรคuscht war das unter FS < 5 noch anders.
Jetzt kann ich diesen EditorWrapper mittels .getAccessEditor(de.espirit.firstspirit.access.project.Project,boolean) dazu รผberreden, mir eben doch das EditorValue zu รผberreichen. Diese Methode ist aber deprecated und wirft ein Warning in der Generierung.
Gibt es eine Alternative zu .getAccessEditor?
Von meinem Ansatz, die Daten via Entity zu holen, mรถchte ich ungern abrรผcken, da ich die Routine so generisch im Header-Include der Templates unterbringen kann und mir die Entity der Projektion per MultiPageParams holen kann. Da die Ausgabe der Meta-Tags im Head erfolgen soll wรคre mir mit einer Abhandlung innerhalb der Projektion nicht geholfen.
MfG
Hagen Jรคger
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der Zugriff per direkter Punktnotation kann hier nicht verwendet werden, da die Feldnamen im Templatekontext nicht ausgeschrieben, sondern nur innerhalb eines Loops รผber .getAttributeNames() zur Verfรผgung stehen.
Solche Untaten mit verschachtelten CMS_VALUEยดs zur Konstruktion eines #row.feldname im Templatekontext ging ja nur mit FS3.
Aber zur Lรถsung des deprecated-Problems:
Die Methode .getAccessEditor gibt es ja dreimal, ich hatte nur die mit der รbergabe des Project-Objekts versucht. Die Variante mit UserService ist nicht deprecated markiert.
MfG
Ingrid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wo und wie verwendest Du das?
versuche es mal mit
$CMS_VALUE(f_ROW.SPALTENNAME)$
Da bekomme ich z.B. ein DomElement wenn die zugehรถrige Eingabekomponente ein CMS_INPUT_DOM ist.
Falls Du das in einem Script verwendest solltest Du รผber FormData gehen (das wurde mir zumindest immer empfohlen).
Grรผรe
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der Zugriff per direkter Punktnotation kann hier nicht verwendet werden, da die Feldnamen im Templatekontext nicht ausgeschrieben, sondern nur innerhalb eines Loops รผber .getAttributeNames() zur Verfรผgung stehen.
Solche Untaten mit verschachtelten CMS_VALUEยดs zur Konstruktion eines #row.feldname im Templatekontext ging ja nur mit FS3.
Aber zur Lรถsung des deprecated-Problems:
Die Methode .getAccessEditor gibt es ja dreimal, ich hatte nur die mit der รbergabe des Project-Objekts versucht. Die Variante mit UserService ist nicht deprecated markiert.
MfG
Ingrid

