Search the FirstSpirit Knowledge Base
Guten Tag,
ich habe gerade entdeckt, dass mein Scriptaufruf im XML-Kanal (FOS) nicht funktioniert.
Im log erhalte ich folgende Fehlermeldung:
WARN ($CMS_RENDER(script:"print_test")$ at 34, 10): script 'print_test' (id=670930) is not of type 'template'
Hier die Zeile in der Vorlage:
<test>$CMS_RENDER(script:"print_test")$</test>
Und hier das Script:
//!BeanShell
result.setValue("test");
Im HTML-Ausgabekanal funktioniert der Skriptaufruf einwandfrei.
Hallo Alexander,
hast Du auch den Beanshell Code im XML Kanal gepflegt?
es reicht nicht, den Code im HTML Kanal zu pflegen. Du musst das auch in alle Kanäle kopieren, die den Code nutzen sollen.
Viele Grüße
Jan Tilo
Hallo Alexander,
im Reiter "Eigenschaften" des Skriptes muss als Geltungsbereich "Vorlage" ausgewählt werden. Prüf bitte mal, ob das bei dir der Fall ist.
Falls die Option richtig gesetzt ist und die Warnung weiterhin auftritt, wäre die verwendete FirstSpirit-Version eine hilfreiche Information.
Viele Grüße
Tim
FirstSpirit SiteArchitect 5.1.311.65223
Server version: 5.1.311.65223
Der Geltungsbereich war falsch gesetzt - das habe ich korrigiert.
Trotzdem erfolgt im XML-Ausgabekanal keine Ausgabe, auch wenn nun immerhin keine Fehlermeldung angezeigt wird.
Hier der vollständige Ausgabekanal der Seite:
<supplementary>
<attributes>
<Page uid="$CMS_VALUE(#global.page.uid)$">
<test>$CMS_RENDER(script:"print_test")$</test>
</Page>
</attributes>
</supplementary>
Die Vorschau zeigt folgendes Ergebnis:
<supplementary>
<attributes>
<Page uid="portalseite">
<test/>
</Page>
</attributes>
Nochmals: Im HTML Ausgabekanal ist das kein Problem, dort wird "Test" ausgegeben.
Hallo Alexander,
hast Du auch den Beanshell Code im XML Kanal gepflegt?
es reicht nicht, den Code im HTML Kanal zu pflegen. Du musst das auch in alle Kanäle kopieren, die den Code nutzen sollen.
Viele Grüße
Jan Tilo
Danke! Das war mir nicht bewusst - die Einbindung von Scripten in Vorlagen wurde bei uns bisher leider kaum genutzt - und in allen anderen Fällen ist es ja scheinbar egal, in welchem Kanal das Script liegt.