Search the FirstSpirit Knowledge Base
Hallo zusammen,
im HTML-Ausgabekanal wird eine Format-Vorlage wie folgt aufgerufen:
$CMS_RENDER(template:"color_by_role",role_id:page.get("page_reference").getPageRef().getPage().getData().get("pt_role").getEditor().get(#global.language))$
-> Dies liefert einen einfachen String zurück.
Nun meine Frage:
Wie könnte ich das nun stattdessen innerhalb eines Java-Modules realisieren?
Momentan habe ich folgendes:
Store templateStore = context.getUserService().getStore(de.espirit.firstspirit.access.store.Store.Type.TEMPLATESTORE, true);
FormatTemplate element = (FormatTemplate) templateStore.getStoreElement("color_by_role", IDProvider.UidType.TEMPLATESTORE_FORMATTEMPLATE);
//set param "role_id":
HashMap map = new HashMap();
map.put("role_id", "64");
element.setStyleAttributes(map);
TemplateSet templateSet = context.getProject().getTemplateSets().get(0);
FormatTemplateChannel formatTemplateChannel = element.getChannel(templateSet);
formatTemplateChannel.getContent();
-> Würde getContent() das Ergebnis des ContentSelects (siehe Erklärung unten) zurückliefern oder nur den Code im HTML-Ausgabe-Kanal?
Zur Erklärung:
In der Formatvorlage wird ein ContentSelect durchgeführt, der anschließend ein Ergebnis zurückliefert.
Hallo Herr Friedemann,
hat es einen speziellen Grund wieso sie das Rendering der Formatvorlage mit API-Mitteln nachstellen wollen?
Das Standardvorgehen wäre eine Methode des Moduls mit dem gewünschten Parameter aufzurufen und innerhalb des Moduls dann das Query durchzuführen und danach das Ergebnis zurück zu geben.
Viele Grüße
Jörg Stephan
Hallo Herr Stephan,
nein, dafür gibt es keinen speziellen Grund. Es hatte mich nur interessiert, ob das überhaupt ohne Weiteres über die API möglich wäre.
Dann werde ich es so machen, wie Sie es vorgeschlagen haben.
Besten Dank,
Marc Friedemann