Jeff Wallace
Optimizely
Sep 13, 2011
visibility 5961
star star star star star
(4 votes)

Category Listing Dynamic Content Module

Based on CMS 6 R2

From time to time we receive requests for displaying listings based on categories.  Simple enough to code, right?

 

Allan Thraen recently posted a blog regarding using Page Providers to display an alternate navigation based on categories, with the idea in mind, that you could also use this same kind of functionality to create listings for things such as “Latest News” or something similar.  Great stuff!

 

Prior to this Joe Bianco and I had kicked around some ideas for a Dynamic Content module that would allow content contributors to create listings based on categories.   It seemed like before we could even finish our complete thoughts Jacob Kahn had already written the first round of code.  We discussed some additional possibilities which Jacob then applied.  Alas we have a nice usable and configurable “Content Listing” module. 

 

The basics of how to use this are as follows:

 

1) Create a new EPiServer page.

2) Select the Dynamic Content button on the rich text editor.

image

3) Select “Category Listing” from the drop down.

image

4) Select the “StartPoint” for the area of the tree structure where you want the module to begin searching categories.

5) Enter one-to-many category names that the listing will be based on. 

a) If a category exists in the system as you type it will be presented for you.  Simply select it.

image

b) If you enter a category that is not already present in the system, select the “+” button, and it will be added below the category control as well as to the category list in the backend.

6) Optionally enter a “Start” and “End” date to filter the items in the listing based on the “Start publish” date.  This is useful if you only want to list items that were published within a certain timeframe.

image

7) Select a “Sorting” order.

image

8) Select “ShowDate” if you want a date to be included in the listing.

9) Select “ShowPreviewText” if you want the preview text to be included in the listing.

image

 

Example result with “ShowDate” and “ShowPreviewText” selected:

image

 

Example result with “ShowDate” and “ShowPreviewText” NOT selected:

image

 

Download the EPiServer module file and use the install from a compressed file option.

Download the code.

 

Please note, this is intended as a starting point for you to customize for your project needs.  The code is provided “as is” without warranty or guarantee of operation.  Use at your own risk.  Good luck and enjoy!

Sep 13, 2011

Comments

Petri Isola
Petri Isola Feb 3, 2012 02:39 PM

Awesome! Finally a use for Categories.

Oct 11, 2012 03:33 PM

Brilliant use of categories, would definitely improve any 'related items' referencing. Would be extremely useful to do similar for documentation within the file manager.

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026