Resources (Lister Page)
A Lister is a block of code that loads a list of records from a specific view. This code creates a Resources Lister containing Title, Primary Image (if present) and Summary (in the absence of Summary, it loads partial content of the Body). If you add this code to a page, it can be your "Resources" page.
<!--A Lister is a block of code that loads a list of records from a specific view. -->
<!--This code creates a Resources Lister containing Title, Primary Image (if present), -->
<!--and Summary (in the absence of Summary, it loads partial content of the Body). -->
<!--If you add this code to a page, it can be your "Resources" page.-->
@BRT.Lister(tableId: "Content", viewId: "Resources",
fields: new[] {"Title","PubDate","PrimaryImage","Summary","Body","Link"},
template:
@<div>
@foreach(EngineRecord record in item) {
string newwindow = null;
string link = null;
if(!record.IsDBNull("Link")){
link = record.GetString("Link");
newwindow=" target=\"_blank\" ";
} else {
link = "/resource/" + record.Href;
}
<article class="media">
@if(!record.IsDBNull("PrimaryImage") && record.GetFiles("PrimaryImage").Count > 0) {
if(record.GetFiles("PrimaryImage")[0].ContentType.StartsWith("image/")) {
<a href="@link" @newwindow>
<img src="@(record.GetFiles("PrimaryImage")[0].Url)?width=120&height=120&mode=crop" class="mr-3 img-fluid" alt="@(String.IsNullOrEmpty(record.GetFiles("PrimaryImage")[0].Title) ? record.GetFiles("PrimaryImage")[0].Filename : record.GetFiles("PrimaryImage")[0].Title)"/>
</a>
}
}
<div class="media-body">
<h5 class="mt-0 mb-0">
<a href="@link" @newwindow>
@record["Title"]
</a>
</h5>
<small class="media-metadata text-muted">
@if(!record.IsDBNull("PubDate")) {
<span>@record.GetDateTime("PubDate").ToShortDateString()</span>
}
@if(!record.IsDBNull("PubDate") && !record.IsDBNull("ResourceTypes")){
<span> - </span>
}
@if (!record.IsDBNull("ResourceTypes") && record.GetCategory("ResourceTypes").Count > 0) {
<div class="topics">
@foreach(CategoryFieldItem topic in record.GetCategory("ResourceTypes")) {
<span>@topic.Label</span>
}
</div>
}
</small>
@if(!record.IsDBNull("Summary")) {
<p>@BRT.Raw(@record.GetString("Summary").Summarize(250))</p>
} else {
<p>@BRT.Raw(@record.GetString("Body").Summarize(250))</p>
}
</div>
</article>
}
</div>)