What is CMFContentPanels?
Up to Plone Development FAQCMFContentPanels is a plone portlets product to build composite pages. You can create new content 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.
Features
- support multi-page and mulit-column
- full function 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
tilepage layout mode, and each page becomes a new row!
How to Use it?
- Install it. See INSTALL.txt for more information.
- http://www.zopechina.com/products-en/CMFContentPanels
How to Extend CMFContentPanels? (For Developers)
How to make more 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.
- Write a viewlet for your content. You can refer to stuff at CMFContentPanels/skins/cp_viewlets, where are default viewlets.
- All viewlets are registered in portal_contentpanels. You can also register viewlets using:
from Products.CMFContentPanels import registerViewlets
registerViewlets( you_viewlets )
With this way, if you reinstall CMFContentPanels, your viewlets configuration will not lost.
how to make viewlet configuable
- viewlet configuration form fields can be define in a macro with name:
(your_viewlet_macroname)_viewletconf
for example, viewlets_folder_recent.pt has 2 macros: base_portlet and base_portlet_viewletconf
- the form fields will be showed and saved automatically
- your viewlet can use the form variables in a dict named
viewletOptions, for example viewletOptions['itemCount']
How to add new panel skin?
You can define a new css wrapper to define a new panel skin:
- customise contentpanels_skin.css.dtml, write your new css wrapper there
- go to ZMI
portal_contentpanels, in the properties view, add your new wrapper there.