Questions & Answers

mmarm
Crownpeak employee

Linkvorlagen getComment() deprecated --> Warning bei Generierung

Hallo liebe Community,

nach Update auf 4.2 liefert die Generierung jetzt einei Fรผlle an Warnings, da bei den Linkobjekten getComment() deprecated ist. Da dann die Logfiles nicht mehr so brauchbar sind wรคre es schรถn dies umgehen zu kรถnnen. Die anderen Felder der "alten" Linkkonfiguration scheinen ja nicht davon beroffen zu sein.

Eine Mรถglichkeit wรคre die Migration auf die neuen Linkvorlagen. Die sind aber laut Doku ja noch nicht offiziell freigegeben (u.a. wegen der Verwendung von FS_REERENCE), also sind wir davon auch nicht so begeistert.

Gibt es fรผr dieses Problem evtl. bereits eine Lรถsung oder hat sonst jemand eine Idee?

Vielen Dank und viele GrรผรŸe

Matthias Marm

4 Replies
hoebbel
Crownpeak employee

Hallo Matthias,

Sauberste Lรถsung des Problems:

Ersetze die bisherige Abfrage

$CMS_IF(!#link.comment.isEmpty)$

durch diese Abfrage hier:

$CMS_IF(#link.isSet("comment") && !#link.comment.isEmpty)$

Erklรคrung: Da in dem Objekt die entsprechende Methode รผberschrieben wurde, wird Sie nicht aufgerufen, wenn das Objekt vorhanden ist. Es muss also "nur" verhindert werden, dass versucht wird die als deprecated markierte Methode aufzurufen, wenn das entsprechende Objekt nicht vorhanden ist.

Viele Grรผsse aus Dortmund,

  Holger

0 Kudos
mmarm
Crownpeak employee

Hallo Holger,

danke fรผr die prompte Antwort!

Viele GrรผรŸe

Matthias

0 Kudos

Hallo Holger,

leider bekomme ich bei folgendem Konstrukt immer noch die besagte Fehlermeldung:

$CMS_IF(#link.isSet("comment") && !#link.comment.isEmpty)$

    $CMS_SET(set_comment)$<div>$CMS_IF(#global.preview)$$CMS_VALUE(#link.comment)$$CMS_ELSE$$CMS_VALUE(#link.comment.replaceAll("\"","\\\\\""))$$CMS_END_IF$</div>$CMS_END_SET$

$CMS_END_IF$

Fehlermeldung:

15.12.2011 17:11:19.396 WARN  ($CMS_VALUE(#link.comment)$ at 2, 54): deprecated usage of de.espirit.firstspirit.access.link.Link#getComment

    ...

    inside of: $CMS_VALUE(#link.comment)$ - at 2, 54

Verwende ich die von dir genannte if-Abfrage hingegen innerhalb des CMS_SET-Blocks, funktioniert es:

$CMS_SET(set_comment)$$CMS_IF(#link.isSet("comment") && !#link.comment.isEmpty)$<div>$CMS_IF(#global.preview)$$CMS_VALUE(#link.comment)$$CMS_ELSE$$CMS_VALUE(#link.comment.replaceAll("\"","\\\\\""))$$CMS_END_IF$</div>$CMS_END_IF$$CMS_END_SET$

Nur der Vollstรคndigkeit halber. Eventuell sollte diese Fehlermeldung noch รผberarbeitet werden, sodass sie bei oben genanntem Fall auch nicht mehr ausgegeben wird.

LG

Renรฉ

0 Kudos
klein
Crownpeak employee

statt

$CMS_VALUE(#link.comment)$

mรผsste eigentlich einfaches

$CMS_VALUE(comment)$

schon genรผgen

Type a product name