Assign a CSS style to a portlet
hexagonit.portletstyle is a Plone 4.x add-on that allows you to assign a CSS style to a portlet. You can chose from a list of pre-defined (configurable through Plone Control Panel) classes.
To install hexagonit.portletstyle you simply add hexagonit.portletstyle to the list of eggs in your buildout, run buildout and restart Plone. Then, install hexagonit.portletstyle using the Add-ons control panel.
Click on Manage portlets and add or edit a portlet. Select your desired portlet style from the Portlet Style drop-down menu and save. That’s it.
Default portlet styles
By default, this package gives you three default portlet styles:
- No header
- No footer
- No header and no footer
Managing available portlet styles
You can add, edit and remove available portlet styles by going to the Plone Control Panel and clicking on the Portlet Styles configlet. Pointing your browser directly to http://<zope_ip>:<zope_port>/<plone_id>/@@portletstyles also does the trick.
Here, you can enter your styles, one by line, with a pipe (|) character delimiting CSS class and style title. For example, a line dummy|Dummy style would produce a Dummy style drop-down menu item that would give the portlet an additional CSS class of foo.
Lines are checked for formatting and validity of CSS classes. One style can have multiple CSS classes, for example, the following is valid: one two|Double class style.
As of this moment, the following portlets are supported (as in, you can select a style when editing them):
- Collection portlet
- Events portlet
- Navigation portlet
- News portlet
- Recently changed items portlet
- RSS portlet
- Search portlet
- Static text portlet
The rest of out-of-the-box Plone portlets are non-editable ones as you normally need only one instance per site. For these (and other) reasons the following portlets do not support choosing a style for them:
- Calendar portlet
- Classic portlet
- Language portlet
- Login portlet
- Review portlet
- use in the wild
- maybe patch non-editable portlets (login, calendar, etc.)
- check how collective.weightedportlets patches portlets and learn from it
- Idea, mentoring and sponsoring provided by Hexagon IT Oy.
- Code monkeying by Nejc Zupan, NiteoWeb Ltd.
- Patch search portlet. [zupo]
- Fixed reStructuredText syntax errors in HISTORY. [zupo]
- Don’t break portlets if this product is installed in buildout but not installed with QuickInstaller. [zupo]
- Change default value of portlet_style field to ‘ ‘ so it’s the same as the Default value we inject into the drop-down menu. [zupo]
- If a portlet has a style assigned that is no longer listed in portlet_styles, than it is added to the drop-down menu, so it’s still possible to select it. [zupo]
- Renamed No style default style into Default style and set it as default selected value for the Styles drop-down menu. [zupo]
- Styles formatting and CSS class validation. [zupo]
- Re-releasing because README syntax was broken. [zupo]
- Human-readable styles. [zupo]
- Improving docs. [zupo]
- Slovenian translation. [zupo]
- Added translation support for portlet_style field in patched IPortletDataProvider. [zupo]
- Re-releasing, hoping this fixes problems with jarn.mkrelease. [zupo]
- Added whitespace to .rst files in docs/ to fix reStucturedText indentation errors. [zupo]
- Removed ..code-block:: elements from README.rst as they are Sphinx-specific block elements and are not valid reStucturedText. [zupo]
- Initial release. [zupo]
Copyright (c) 2011, Hexagon IT Oy All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Hexagon IT Oy nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL HEXAGON IT OY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.