Example - RSS Feed

RSS for third party content

Concrete CMS already has an RSS block, but its a bit tired and inflexible. If you want to do more with an RSS feed you either need to get coding for a block template and possibly a controller override, or you can explore the possibilities with Universal Content Puller.

As an RSS feed will be external to the site, the Content Source to use will again be URL

The examples on this page provide some basic pulling of RSS feeds. The examples List PIcker shows more advanced selection and display from the RSS feed.

Basic feed

To investigate the possibilities, we need an RSS feed. As we are all users of Concrete CMS, here we will use the Concrete CMS Blog.

The Multi Selector Content Transform can pick out items from XML data.

  • Source content type - XML / XHTML
  • Container css selector - channel
  • Level 1 - item
  • Level 2 - [blank] (for all children) + Return text with attributes, title, description, pubDate etc.

For display, The Multi Level List Content Display has the flexibility to display the pulled RSS in many ways.

  • Level 1 - Paragraphs + First child value
  • Level 2 - Definition List, horizontal + Capitalised keys

Make frequent use of the Preview button to review the incoming data to the transform and display.

There is a little duplicated information. We don't need to use the title for both the heading and the first list item. We don't need to repeat the link with the Guid. So we add those items to the Filter section of the display.

As the RSS feed can be long, its an ideal place to explore the pagination capabilities of UCP. Here the pagination is set very low so we don't fill too much of this page.

  • Outer list items to display - 2
  • Paginate - Below
  • Include block identity in pagination - No

By leaving out the block identity in the pagination, all variations of the RSS feed shown on this page will paginate together!

In the Advanced tab, the main settings we need are the Advanced Autolinker and to Render Image URLs as Images. An important point here is that the settings don't change the file size of images, just the maximum size they are displayed.

A necessary tweak is to add some css to prevent the images from getting out of control. More about adding css towards the end of this example.

.ucp-body img{
   max-width:100%;
}

Redesign Roulette: Why Every New Site Relaunch Feels Like Starting Over

Description

image

Redesigning your website every 2–3 years just to fix your CMS? Here's why that cycle is killing your growth — and what to do instead.
Pubdate
Fri, 15 Aug 2025 02:00:00 +0000

Redesign or Refresh? How to Know When It’s Time to Blow Up Your Website

Description

image

Not sure if your website needs a full overhaul or just a facelift? Learn how to spot the signs of redesign denial, when to refresh, and when it’s time to start over.
Pubdate
Fri, 08 Aug 2025 13:45:00 +0000

View settings

Getting the items in order

By default, the various elements are shown in the sequence they are declared in the XML of the RSS feed. That can be changed by entering a Shuffle sequence for the second list level.

The version below has a Shuffle set to pubDate, link, description.

Redesign Roulette: Why Every New Site Relaunch Feels Like Starting Over

Pubdate
Fri, 15 Aug 2025 02:00:00 +0000
Description

image

Redesigning your website every 2–3 years just to fix your CMS? Here's why that cycle is killing your growth — and what to do instead.

Redesign or Refresh? How to Know When It’s Time to Blow Up Your Website

Pubdate
Fri, 08 Aug 2025 13:45:00 +0000
Description

image

Not sure if your website needs a full overhaul or just a facelift? Learn how to spot the signs of redesign denial, when to refresh, and when it’s time to start over.

View settings

Removing the subtitles

For a variation, the Level 2 list type can be set to Paragraphs + none.

As a side effect, the Level 2 items no longer have headings, so they can only be filtered and shuffled by number. Hence an intermediary step is to set Paragraphs + Number 1,2,3 to see the numbers of the items. Then make a note of the numbers to filter, below these are 1, 5 then change to Paragraphs + none for the finished list.

Having filtered, the numbers for shuffling are reset to a contiguous 1,2,3... Here we need to actually count from the start of our filtered numbers. The publication date is the 2nd item in this filtered list and the link is the 3rd item, so simply setting Shuffle to 2, 3 will achieve the desired effect.

Redesign Roulette: Why Every New Site Relaunch Feels Like Starting Over

Fri, 15 Aug 2025 02:00:00 +0000

www.concretecms.com/about/blog/web-design/redesign-roulette-why-every-new-site-relaunch-feels-like-starting-over

image

Redesigning your website every 2–3 years just to fix your CMS? Here's why that cycle is killing your growth — and what to do instead.

Redesign or Refresh? How to Know When It’s Time to Blow Up Your Website

Fri, 08 Aug 2025 13:45:00 +0000

www.concretecms.com/about/blog/web-design/redesign-or-refresh-how-to-know-when-its-time-to-blow-up-your-website

image

Not sure if your website needs a full overhaul or just a facelift? Learn how to spot the signs of redesign denial, when to refresh, and when it’s time to start over.

View settings

Adding Style

We now have a few options for a readable RSS feed where we have complete control over what data is presented and the sequence it is shown.

Now we want to add a bit of style. Each item in the UCP list is assigned classes based on heading and position in the list, so styles could be added to the theme, or (slightly naughty) declared in an HTML block, or placed in a Header Extra Content attribute as we have done here. 

The styles can be localised to a specific UCP block by adding a unique wrapper class in the Advanced tab of the edit dialog. In this case example-styled.

<style>
.ucp-body img{
   max-width:100%;
}
.ucp-body.example-styled .ucp-item-2-1{
    font-size:80%;
    font-style:italic;
}
.ucp-body.example-styled img{
    max-width: 250px;
    max-height: 200px;
    float: left;
    padding-right: 1em;
    padding-bottom: 1em;
}
</style>

Redesign Roulette: Why Every New Site Relaunch Feels Like Starting Over

Fri, 15 Aug 2025 02:00:00 +0000

www.concretecms.com/about/blog/web-design/redesign-roulette-why-every-new-site-relaunch-feels-like-starting-over

image

Redesigning your website every 2–3 years just to fix your CMS? Here's why that cycle is killing your growth — and what to do instead.

Redesign or Refresh? How to Know When It’s Time to Blow Up Your Website

Fri, 08 Aug 2025 13:45:00 +0000

www.concretecms.com/about/blog/web-design/redesign-or-refresh-how-to-know-when-its-time-to-blow-up-your-website

image

Not sure if your website needs a full overhaul or just a facelift? Learn how to spot the signs of redesign denial, when to refresh, and when it’s time to start over.

View settings

Expandable lists

Our next version of the Concrete CMS Blog RSS feed is similar to the above, but with expanders enabled on the item headings. A couple more changes were required, to configure the use <div> elements for the level 1 item bodies rather than <p> elements. 

Redesign Roulette: Why Every New Site Relaunch Feels Like Starting Over

Fri, 15 Aug 2025 02:00:00 +0000

image

Redesigning your website every 2–3 years just to fix your CMS? Here's why that cycle is killing your growth — and what to do instead.

Redesign or Refresh? How to Know When It’s Time to Blow Up Your Website

Fri, 08 Aug 2025 13:45:00 +0000

image

Not sure if your website needs a full overhaul or just a facelift? Learn how to spot the signs of redesign denial, when to refresh, and when it’s time to start over.
View settings

Additional Pages

About this Sidebar

Creating a sidebar for a group of pages without messing about with stacks is an easy use-case for Universal Content Puller.

This sidebar is edited once, within the main addon page for Universal Content Puller.

It is then pulled into all UCP sub-pages using a UCP block.

The Content Source is Parent Page, set to pull the Sidebar area from 2 pages from the top. The Content Transform is Selector, set to remove container and row classes that, when unnecessarily nested, could mess up the Bootstrap grid. The Content Display is Plain, which just outputs the transformed text.

In the advanced settings, sanitization is disabled as we trust the source page and don't want to strip out any formatting or functionality from the pulled sidebar.