Search the FirstSpirit Knowledge Base
Generiere ich ein Dokument mittels einer Vorlage, die folgende Zeilen enthält:
$CMS_FOR(m, #global.page.meta())$
$CMS_IF(#global.page.meta(m.name) != null && #global.page.meta(m.name).length() > 0)$
...
$CMS_END_IF$
$CMS_END_FOR$
bekomme ich eine Warnung über die Deprecation von de.espirit.firstspirit.access.store.DataValue#getName.
Kann mir jemand mit einem kurzen Code-Beispiel helfen, wie ich mein Template umgestalten muss, um ohne Warnung durch die Generierung zu kommen?
Vielen Dank im Voraus!
Hallo Udo,
die Antwort ist etwas versteckt. Kurzform: DataValue ist deprecated, seit 5.2.21 soll man FormData verwenden. Auch getMeta ist deprecated (seit 4.2.450).
Du müsstest, wenn ich es richtig verstehe, statt meta() auf metaFormData() umstellen. Die API ist dort leicht anders.
Hilft dir das bereits?
Viele Grüße,
Lena
Hallo Lena,
danke für deinen Hinweis. FormData ist der richtige Weg, da stimme ich dir zu. Mich interessiert halt, ob es einen ähnlich einfachen Weg wie getMeta und getName gibt, den ich direkt im Template nutzen kann. Die Abfragen, die ich mit FormData bisher erstellt habe, sind doch eher umfangreich. Daher fragte ich auch nach einem Codebeispiel.
Danke und schönen Gruß,
Udo.
Hallo Udo,
Wenn Dir die neue API zu umständlich ist, kann Du Dir einfach ein Render-Template scheiben, was Dir den Umgang damit erleichtert. Gemäß dem Motto "Don't repeat yourself" (DRY) hast Du dann den Code um z.B. mit dem FormData umzugehen nur einmal zu warten.
Grüße
Marian
Hallo Udo,
kannst du uns bitte mitteilen, ob diese Frage noch offen ist?
Konnten dir die bisherigen Antworten bereits weiterhelfen oder benötigst du noch weitere Hilfe?
Falls alles geklärt ist, wäre es super, wenn du diese Antwort als "richtige" entsprechend markierst.
Sollte es bereits eine Lösung geben, wäre es toll, wenn du uns diese hier bereitstellen könntest.
Viele Grüße,
Sebastian
Hallo Sebastian,
ehrlich gesagt hatte ich auf ein Stückchen Code gehofft, welches den Abruf der FormData-Werte zeigt.
Danke und schönen Gruß,
Udo.
Hallo Udo,
für dein angegebenes Beispiel, bei dem es um Metadaten geht, sollte es genügen, die Schleifenquelle auf
#global.page.metaFormData.form.forms
zu ändern. (Konnte das jetzt aber nicht ausprobieren. kann sein, dass da noch Klammern reinmüssen.)
Das einzelne Element ist dann zwar kein DataValue, aber das willst du ja auch gar nicht haben.
Beste Grüße
Stefan
Danke Stefan,
ich werde das bei nächster Gelegenheit ausprobieren.
Schönen Gruß,
Udo.