Hallo zusammen,
seit einer Woche arbeite ich nun frisch in einem unserer FirstSpirit Projekte und kümmere mich gerade darum die Generierungsfehler zu analysieren und zu beheben um mich in das Projekt einzuarbeiten.
Einer der Fehler bereitet mir jedoch Kopfzerbrechen und da alle meine Kollegen ausgefallen sind, kann ich mich aktuell mit Niemandem direkt austauschen.
Ich bekomme den allseits bekannten Fehler:
ERROR 13.02.2019 10:37:17.962{g-node=619051} (de.espirit.firstspirit.generate.SiteProduction): no target selected
An dieser Stelle sollte es vermutlich eine Referenz geben, die ins Leere führt. Durch das Templatedebugging $CMS_SET(#global.debugMode,true)$ habe ich die exakte Position bestimmen können.
$CMS_SET(set_ft_refUrl, ref(paramRef, abs:2, lang:if( !paramLang.isEmpty, paramLang, #global.language.abbreviation)).getUrl)$
über einige Debug-Ausgaben weiß ich aber auch, dass die Methoden valide Ergebnisse zurückliefern:
$CMS_SET(anha, "ANHA Logolink: " +
map_ps_areaprojectsettings.logoLink.get() +
"lang: " +
if(!paramLang.isEmpty,paramLang,#global.language.abbreviation) +
"just ref: " +
ref(map_ps_areaprojectsettings.logoLink.get(),abs:2,lang:if(!paramLang.isEmpty,paramLang,#global.language.abbreviation)) +
"ref url: " +
ref(map_ps_areaprojectsettings.logoLink.get(),abs:2,lang:if(!paramLang.isEmpty,paramLang,#global.language.abbreviation)).getUrl)$
Ergebnis:
ANHA Logolink: <PAGEREF editor="111109" htmlname="Home" id="633019" pageref="632957" releaseRevision="505599" releasedby="111109" revision="505599" uniquedescription="005_home_1">
<LANG displayname="Home" language="DE"/>
<PAGE_LANG_SPEC language="DE" showinpagegrp="1" showinsitemap="1"/>
</PAGEREF>
lang: DE
just ref: de.espirit.firstspirit.generate.ContentProducerReference@b5fe68bref
url: /r/de/home/home.html
Eine weitere Spur zu dem Problem ist ein Warning, welches mir direkt nach dem Error ausgegeben wird:
WARN 13.02.2019 11:29:52.293{g-node=619051} (de.espirit.firstspirit.generate.SiteProduction): Undefined field 'getUrl'!
An dieser Stelle verstehe ich nicht, weshalb "getUrl" als field erkannt wird. Die Methode gibt schließlich wie sie es soll die URL der Referenz zurück.
Wenn ich mir das ApiDoc von ref(map_ps_areaprojectsettings.logoLink.get(),abs:2,lang:if(!paramLang.isEmpty,paramLang,#global.language.abbreviation)) ausgeben lasse, ist dort "getUrl()" ebenfalls aufgelistet.
Hat Jemand eine Idee was hier passiert, oder wie ich den Fehler beheben kann? Ich sehe langsam den Wald vor lauter Bäumen nicht mehr... :smileyconfused:
Vielen Dank und viele Grüße,
Annika