udo_woitek
I'm new here

Alternative zu deprecated DataValue.getName?

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!

0 Kudos
7 Replies
brueder
I'm new here

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

0 Kudos

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.

0 Kudos

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

0 Kudos
sebastianc
Crownpeak employee

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

0 Kudos

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.

0 Kudos

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

0 Kudos

Danke Stefan,

ich werde das bei nächster Gelegenheit ausprobieren.

Schönen Gruß,

Udo.

0 Kudos