Search the FirstSpirit Knowledge Base
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
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
Hallo Holger,
danke für die prompte Antwort!
Viele Grüße
Matthias
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é
statt
$CMS_VALUE(#link.comment)$
müsste eigentlich einfaches
$CMS_VALUE(comment)$
schon genügen