Structure for showing assets in the default theme

pull/20/head
Jens Pelzetter 2022-03-05 17:56:28 +01:00
parent 2e4bbc2611
commit 359118de7d
3 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,11 @@
<#macro foo>
<p>foo</p>
</#macro>
<#macro "org.librecms.assets.FileAsset">
<p><code>A file asset</code></p>
</#macro>
<#macro "org.librecms.assets.RelatedLink">
<p><code>A releated link</code></p>
</#macro>

View File

@ -1,4 +1,5 @@
<#import "./main.html.ftl" as main>
<#import "./assets.html.ftl" as assets>
<@main.librecms>
<div class="container">
@ -15,6 +16,23 @@
</#if>
</div>
<div class="col-lg-4">
<#list CmsPagesCategorizedItemModel.attachmentLists as attachmentList>
<h2>${attachmentList.title}</h2>
<p class="item-description">${attachmentList.description}</p>
<#list attachmentList.attachments>
<ul class="list-group">
<#items as attachment>
<li class="list-group-item">
${attachment.asset.type}
<#-- <code>${.vars["assets"]["foo"]} -->
<#-- <code>${.vars["org.librecms.assets.FileAsset"]}</code> -->
<#-- <code>${.vars[attachment.asset.type]}</code> -->
<@.vars["assets"][attachment.asset.type] />
</li>
</#items>
</ul>
</#list>
</#list>
<!-- Attachments -->
<h2>Notes</h2>
<ul class="list-group mb-4">

View File

@ -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<AttachmentListModel> getAttachmentLists() {
init();
return contentItem
.map(ContentItemModelData::getAttachmentLists)
.orElse(Collections.emptyList());
}
/**
* Gets the version of the current item (see {@link ContentItem#version}.