FS5 api: vom EditorWrapper zu EditorValue - deprecated warning
Author: hjaeger
Publication Date: 4/24/2013 11:02
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
Tags: access-api, editorvalue, editorwrapper
-
Author: hjaeger - 4/24/2013 12:47
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
0
Please sign in to leave a comment.
Comments
1 comment