diff --git a/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/assets.html.ftl b/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/assets.html.ftl
new file mode 100644
index 000000000..fd1f252be
--- /dev/null
+++ b/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/assets.html.ftl
@@ -0,0 +1,11 @@
+<#macro foo>
+
foo
+#macro>
+
+<#macro "org.librecms.assets.FileAsset">
+ A file asset
+#macro>
+
+<#macro "org.librecms.assets.RelatedLink">
+ A releated link
+#macro>
\ No newline at end of file
diff --git a/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/category-page.html.ftl b/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/category-page.html.ftl
index ed48a0a58..0207eabbd 100644
--- a/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/category-page.html.ftl
+++ b/ccm-cms-default-theme/src/main/resources/themes/librecms/templates/category-page.html.ftl
@@ -1,4 +1,5 @@
<#import "./main.html.ftl" as main>
+<#import "./assets.html.ftl" as assets>
<@main.librecms>
@@ -15,6 +16,23 @@
#if>
+ <#list CmsPagesCategorizedItemModel.attachmentLists as attachmentList>
+
${attachmentList.title}
+
${attachmentList.description}
+ <#list attachmentList.attachments>
+
+ <#items as attachment>
+ -
+ ${attachment.asset.type}
+ <#--
${.vars["assets"]["foo"]} -->
+ <#-- ${.vars["org.librecms.assets.FileAsset"]} -->
+ <#-- ${.vars[attachment.asset.type]} -->
+ <@.vars["assets"][attachment.asset.type] />
+
+ #items>
+
+ #list>
+ #list>
Notes
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/ContentItemModel.java b/ccm-cms/src/main/java/org/librecms/pages/models/ContentItemModel.java
index c919c3927..90efb97e8 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/ContentItemModel.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/ContentItemModel.java
@@ -62,6 +62,7 @@ public class ContentItemModel {
/**
* Provides access to the builders for asset models.
*/
+ @Inject
private AssetModelBuilders assetModelBuilders;
/**
@@ -273,6 +274,14 @@ public class ContentItemModel {
.map(ContentItemModelData::getDescription)
.orElse("");
}
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ public List getAttachmentLists() {
+ init();
+ return contentItem
+ .map(ContentItemModelData::getAttachmentLists)
+ .orElse(Collections.emptyList());
+ }
/**
* Gets the version of the current item (see {@link ContentItem#version}.