Skip to main content

Contentpage based on Simplelayout for for web/intranet

Project description


ftw.contentpage provides some content types optimized for organisations, communities, associations, and more.

It uses simplelayout to manage and display the content.


  • Add ftw.contentpage to your buildout configuration:
eggs +=
  • Install the generic import profile.



  • ContentPage: Folderish type for the site structure. Contains the blocks
  • AddressBlock: AddressBlock contains address informations and it uses ftw.geo to render a map
  • ListingBlock: A folderish block, which lists files and images by default. Two block views are provided: Tabular listing and a gallery view. The columns of the file listing are configurable per block. The default set of columns is configured through the the registry ( The default sort order of the Listingblock file listing can be configured per block.
  • EventPage / EventFolder: A simple and minimal event implementation based on a ContentPage.
  • News / NewsFolder: A simple news implementation based on a ContentPage.

Special views:

There’s a two-column and two-level overview called authorities_view, which displays a list of ContentPages with an AddressBlock. If an AddressBlock is added to a ContentPage, it adds a marker interface on the ContentPage, so it’s easy to recognize ContentPage’s containing an AddressBlock.

The EventFolder has a simple events listing, which shows the next 10 upcoming events (batching included).

The NewsFolder has a simple news listing, which shows the 10 most recent news entries (batching included).

ContentListing viewlet:

The content listing viewlet is registered for all ContentPages. It shows categorized subcontent, within the ContentPage The categorization is done by a schemaextended field, so it’s also possible to categorize your own or any other content.

** Teaser Image ** All content pages, event pages and news are able to display a teaser image, which is stored on the content itself. It behaves like a regular block and shows also the description. The teaser image related fields have their own write permission, one per content type. Take a look at the rolemap.xml for details.

** Portlet ** It’s possible to enable an archive portlet for News and EventPages. It only works if the current view is the news or event listing view. The portlet is not created by default.

Code example:

<class class="">
  <implements interface="ftw.contentpage.interfaces.ICategorizable" />

ftw.contentpage is using the additional slot provided by simplelayout (implements the IAdditionalListingEnabled interface of simplelayout)

So the layout has the following structure:

  1. Simplelayout main slot for blocks
  2. The content listing viewlet
  3. The additional slot for blocks

This way it’s possible to display content below the content listing viewlet (by drag’n’drop)

ftw.lawgiver support

ftw.contentpage supports ftw.lawgiver



Runs with Plone 4.1, 4.2 or 4.3.


1.2.1 (2013-06-03)

  • Do not copy parent layout. [mathias.leimgruber]
  • Fix off-by-one error in listingblock. This caused that the listingblock was not displayed when only one item was in the listingblock and the block was not editable. [jone]

1.2 (2013-05-27)

  • Fix in news portlet. Use getObject instead of restictedTraverse(path). [mathias.leimgruber]
  • Do not show description field of textblock. [mathias.leimgruber]
  • Use summary attribute in table instead of title. [Julian Infanger]
  • Do not show the author in newslisting for anonymous user, if the property allowAnonymousViewAbout is not true. [Julian Infanger]
  • Hide empty listing blocks for anonymous. [jone]
  • Sort content categories alphabetical. [mathias.leimgruber]
  • Fix content_categories index. Should be available on ICategorizable not on IContentPage
  • Add ListingBlock and AddressBlock to addable types of News. [mathias.leimgruber]
  • Added helper javascript for start and end date widget. [Julian Infanger]
  • Fix news result quantity. [mathias.leimgruber]
  • Add a configurable “Show more or show all News link” link into the footer of the news portlet. It only shows up if there are news to show and if the “Show all news” box is ticked. [mathias.leimgruber]
  • Search News and Events recursively. [mathias.leimgruber]
  • Change german transaltions. [mathias.leimgruber]
  • Fix content type on text fields of address block: use text/plain as input type. [jone]
  • News listing view: handle news without effective date. [jone]

1.1 (2013-04-29)

  • Fixed condition for addrestitel in address templates. [phgross]
  • Added publication date viewlet to news view. [Julian Infanger]
  • Add custom date formatter for events. [mathias.leimgruber]
  • Improve test coverage [mathias.leimgruber]
  • Make textblock title searchable. [Julian Infanger]
  • Do not assign any workflow to TextBlock, AddressBlock and ListingBlock Provide an upgrade step, which removes the currently assigned workflow. [mathias.leimgruber]
  • Fix AddressBlock FTI - Change (Default) alias to (dynamic view). [mathias.leimgruber]
  • Add more test for EventPage. [mathias.leimgruber]
  • Add teaser image functionality for contenpage. [mathias.leimgruber]
  • Browserviews should not be public. [Julian Infanger]
  • Updated German translations [phabegger]
  • Fill content-core slot instead of main slot and show edit-bar. [mathias.leimgruber]
  • Add Event type. [tschanzt]

1.0 (2013-04-10)

  • Init release [mathias.leimgruber]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (147.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page