Skip to main content

CMFContentPanels is a plone portlets product to build composite pages

Project description


Products.CMFContentPanels is a repackaging of CMFContentPanels a Plone portlets product to build manageable composite pages.

You can create new content object which is composed of other contents as configurable ‘content panels’. You can change the layout, the panel skin and the content viewlet through the web.

This repackaging is intended to support projects migrating from earlier versions of Plone (2.x) to newer ones (3.1.x).



  • Support multi-page and multi-column

  • fully functional layout management, easy to use: move panels left/right/up/down

  • predefined viewlets for Document, Image, Folder, Topic, ZWiki Page, PloneChat, mxmDynamicPage.

  • each viewlet is configurable. it is quite easy to add new viewlets. You can add a RSS viewlet or a simplet text viewlet.

  • contentpanels content can be a plone portlet and show on the left/right column.

  • support multi-rows: use ‘tile’ page layout mode, and each page becomes a new row!


To use this product, on a buildout based installation:

  1. Edit your buildout.cfg and add Products.CMFContentPanels to the list of eggs to install

    eggs =

After updating the configuration file you need to run the ‘’bin/buildout’’, which will take care of updating your system.

Go to the ‘Site Setup’ page in the Plone interface and click on the ‘Add/Remove Products’ link.

Choose the product (check its checkbox) and click the ‘Install’ button.

Uninstall – This can be done from the same management screen, but only if you installed it from the quick installer.

Extending Products.CMFContentPanels (For Developers)

New viewlets

Viewlet is a view of content which can be selected in contentpanels. Viewlet can be a zpt or a zpt macro. Viewlets are registered with CMF Action mechanism.

  1. Write a viewlet for your content. You can refer to stuff at ‘CMFContentPanels/skins/cp_viewlets’, where are default viewlets.

  2. All viewlets are registered in portal_contentpanels. You can also register viewlets using:

    from Products.CMFContentPanels import registerViewlets

    With this way, if you reinstall CMFContentPanels, your viewlets configuration will not lost.

How to make viewlets configurable

  1. Viewlet configuration form fields can be define in a macro with name: ‘(your_viewlet_macroname)_viewletconf’

    For example, ‘’ has 2 macros: ‘base_portlet’ and ‘base_portlet_viewletconf’

  2. The form fields will be showed and saved automatically

  3. Your viewlet can use the form variables in a dict named ‘viewletOptions’, for example ‘viewletOptions[“itemCount”]’

How to add new panel skins

You can define a new css wrapper to define a new panel skin:

  1. Customise contentpanels_skin.css.dtml, write your new css wrapper there

  2. Go to ZMI ‘portal_contentpanels’, in the properties view, add your new wrapper there.


Bug report and feature request

In the “Products.CMFContentPanels product area”: you can report bugs and request new features.

Project details

Download files

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

Source Distribution

Products.CMFContentPanels-2.6a2dev.tar.gz (104.0 kB view hashes)

Uploaded source

Built Distribution

Products.CMFContentPanels-2.6a2dev-py2.4.egg (178.8 kB view hashes)

Uploaded 2 4

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page