Item Display
parent
591bb6b1d2
commit
7d670d725d
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="${themeUrl}/styles/librecms.css" rel="stylesheet" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Default Template</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<p>This theme works.</p>
|
||||
<dl>
|
||||
<dt>application</dt>
|
||||
<dd>${application}</dd>
|
||||
<dt>themeUrl</dt>
|
||||
<dd>${themeUrl}</dd>
|
||||
<dt>view</dt>
|
||||
<dd>${view!""}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,21 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="${themeUrl}/styles/librecms.css" rel="stylesheet" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Default Template</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<p>This theme works.</p>
|
||||
<dl>
|
||||
<dt>application</dt>
|
||||
<dd>${application}</dd>
|
||||
<dt>themeUrl</dt>
|
||||
<dd>${themeUrl}</dd>
|
||||
<dt>view</dt>
|
||||
<dd>${view!""}</dd>
|
||||
</dl>
|
||||
<#import "./main.html.ftl" as main>
|
||||
<#-- <#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem> -->
|
||||
|
||||
<@main.librecms>
|
||||
<div class="container">
|
||||
<div class="row align-items-start justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<#if CmsPagesContentItemTypeModel.itemClass != "">
|
||||
<#assign itemTemplate = .getOptionalTemplate("./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl")>
|
||||
<#if itemTemplate.exists>
|
||||
<#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem>
|
||||
<#else>
|
||||
<#import "./contentitems/default.html.ftl" as contentitem>
|
||||
</#if>
|
||||
<@contentitem.details />
|
||||
</#if>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<!-- Attachments -->
|
||||
<h2>Notes</h2>
|
||||
<ul class="list-group mb-4">
|
||||
<li class="list-group-item">
|
||||
<p>
|
||||
A side note with some text
|
||||
</p>
|
||||
<p>
|
||||
Occaecat sit eu ipsum irure. Enim consectetur aute anim proident sint dolor sint ea ex eu adipisicing et. Veniam laborum mollit velit incididunt aliquip do esse officia eu ea nostrud nulla.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>More information</h2>
|
||||
<p>
|
||||
Consequat occaecat eu ullamco amet id tempor.
|
||||
</p>
|
||||
<ul class="list-group mb-4">
|
||||
<li class="list-group-item">
|
||||
<p>Anim ex ut reprehenderit in enim id proident duis pariatur est anim do.</p>
|
||||
<a href="https://example.com">A related link</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<p>Quis minim deserunt incididunt ea voluptate laboris fugiat elit nulla.</p>
|
||||
<a href="https://example.com">Some download link</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
</@main.librecms>
|
||||
|
|
@ -65,11 +65,13 @@
|
|||
<#list CmsPagesItemListModel.getItems("newslist")>
|
||||
<div class="col">
|
||||
<h2>News</h2>
|
||||
<ul class="list-group">
|
||||
<ul class="list-group">
|
||||
<#items as news>
|
||||
<li class="list-group-item">
|
||||
<h3 class="d-flex w-100 justify-content-between">
|
||||
<div>${news.title}</div>
|
||||
<div>
|
||||
<a href="/pages${CmsPagesCategoryModel.category.path}${news.name}.${news.lang}.html${CmsPagesPageUrlModel.queryString}">${news.title}</a>
|
||||
</div>
|
||||
<#-- <div>${news.getReleaseDate('yyyy-MM-dd')}</div> -->
|
||||
<div>${news.getReleaseDate('dd. MMM yyyy')}</div>
|
||||
</h3>
|
||||
|
|
@ -80,7 +82,7 @@
|
|||
</div>
|
||||
</#list>
|
||||
<#list CmsPagesItemListModel.getItems("eventlist")>
|
||||
<div class="col">
|
||||
<div class="col">
|
||||
<h2>Upcoming events</h2>
|
||||
<ul class="list-group">
|
||||
<#items as event>
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ public class PagesController {
|
|||
final Category category = getCategory(domain, pages, "/");
|
||||
final Versions versions = generateFromPreviewParam(preview);
|
||||
final String language = determineLanguage(category, versions);
|
||||
|
||||
|
||||
initPageUrlModel(uriInfo);
|
||||
|
||||
final String indexPage = String.format(
|
||||
|
|
@ -278,7 +278,7 @@ public class PagesController {
|
|||
final String language = determineLanguage(category, versions);
|
||||
|
||||
initPageUrlModel(uriInfo);
|
||||
|
||||
|
||||
final String itemPage = String.format(
|
||||
"/%s.%s.html%s",
|
||||
itemName,
|
||||
|
|
@ -308,7 +308,7 @@ public class PagesController {
|
|||
final Category category = getCategory(domain, pages, "/");
|
||||
final Versions versions = generateFromPreviewParam(preview);
|
||||
final String language = determineLanguage(category, itemName, versions);
|
||||
|
||||
|
||||
initPageUrlModel(uriInfo);
|
||||
|
||||
final String itemPage = String.format(
|
||||
|
|
@ -416,7 +416,7 @@ public class PagesController {
|
|||
final Category category = getCategory(domain, pages, page);
|
||||
final Versions versions = generateFromPreviewParam(preview);
|
||||
final String language = determineLanguage(category, versions);
|
||||
|
||||
|
||||
initPageUrlModel(uriInfo);
|
||||
|
||||
final String redirectTo;
|
||||
|
|
@ -472,7 +472,7 @@ public class PagesController {
|
|||
final Category category = getCategory(domain, pages, page);
|
||||
final Versions versions = generateFromPreviewParam(preview);
|
||||
final String language = determineLanguage(category, versions);
|
||||
|
||||
|
||||
initPageUrlModel(uriInfo);
|
||||
|
||||
final String redirectTo;
|
||||
|
|
@ -561,9 +561,16 @@ public class PagesController {
|
|||
categoryModel.init(pages.getCategoryDomain(), category, version);
|
||||
final Page page = pageManager.findPageForCategory(category);
|
||||
pagePropertiesModel.setProperties(page.getProperties());
|
||||
return themesMvc.getMvcTemplate(
|
||||
uriInfo, "pages", page.getDisplayName()
|
||||
);
|
||||
if (itemName.equals("index") || itemName.isBlank()) {
|
||||
return themesMvc.getMvcTemplate(
|
||||
uriInfo, "pages", page.getDisplayName()
|
||||
);
|
||||
} else {
|
||||
return themesMvc.getMvcTemplate(
|
||||
uriInfo, "pages", "item-page"
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void initSiteInfoModel(
|
||||
|
|
|
|||
|
|
@ -92,6 +92,10 @@ public abstract class AbstractContentItemListItemModel {
|
|||
this.description = description;
|
||||
}
|
||||
|
||||
public String getLang() {
|
||||
return locale.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the type of the content item. In most cases implementations
|
||||
* should return the fully qualified name of the content item class here.
|
||||
|
|
|
|||
|
|
@ -46,11 +46,7 @@ public abstract class AbstractContentItemListItemModelBuilder<T extends ContentI
|
|||
contentItem.getDescription()
|
||||
)
|
||||
);
|
||||
model.setName(
|
||||
globalizationHelper.getValueFromLocalizedString(
|
||||
contentItem.getName()
|
||||
)
|
||||
);
|
||||
model.setName(contentItem.getDisplayName());
|
||||
model.setDisplayName(contentItem.getDisplayName());
|
||||
model.setTitle(
|
||||
globalizationHelper.getValueFromLocalizedString(
|
||||
|
|
|
|||
|
|
@ -21,12 +21,13 @@ package org.librecms.pages.models;
|
|||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
|
||||
/**
|
||||
* Model initalized by the Pages application containing information about the
|
||||
* Model initialized by the Pages application containing information about the
|
||||
* URL requested.
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -93,4 +94,20 @@ public class PageUrlModel {
|
|||
this.queryParameters = new HashMap<>(queryParameters);
|
||||
}
|
||||
|
||||
public String getQueryString() {
|
||||
return queryParameters
|
||||
.entrySet()
|
||||
.stream()
|
||||
.map(
|
||||
entry -> String.format(
|
||||
"%s=%s",
|
||||
entry.getKey(),
|
||||
entry.getValue()
|
||||
)
|
||||
)
|
||||
.collect(
|
||||
Collectors.joining("&", "?", "")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue