GithubHelp home page GithubHelp logo

collective.panels's Introduction

collective.panels

Panels are sets of portlets appearing in various layout configurations which you can insert into a selection of Plone's existing locations (above and below page contents, portal top and footer).

You often have a need to add supplemental content to existing pages, content items or folders.

The included portlets infrastructure serves some, but not all of these needs, letting you add portlets in the left and right column, which are inherited down the content hierarchy.

Panels provide a simple mechanism to add portlets to additional locations, without inheritance, and let you display portlets in different layouts.

Compatibility

collective.panels 1.x is for Plone 4.

collective.panels 2.x is for Plone 5.1

Migrate to 2.x

Uninstall version 1.x from your plone site control panel.

Afterwards install 2.x

Similar packages

collective.panels aims to render a number of existing add-ons obsolete, including Collage, collective.portletpage and Products.ContentWellPortlets. The functionality represented by these add-ons is mostly available in panels, too, and comes in an implementation that builds directly on Plone's portlets framework.

There's an alternative to panels still in development in Carlos de la Guardia's collective.cover. It supports a number of advanced use-cases mostly related to workflow and security. Panels does not currently integrate with Plone's permission system except require the blanket "can manage portlets" permission.

Examples

Front page

Instead of, or in addition to, a page acting as the default content on a folder, you can create a collage of portlets and display it below an introductory text.

There's a lot of flexibility because you can integrate the panel display with Plone's built-in content views. For instance, you could provide a search interface in addition to the standard folder listing.

Supplement static content

Use panels to add portlets above or below a static page.

Features or advertisement

Add panels to the 'portal top' location which by default renders just below the section navigation for an impressive effect.

Usage

To create a new panel, or manage existing ones, the editor clicks the "Manage panels" link appearing in the footer (it links to @@manage-panels) โ€” similar to Plone's column portlets.

The management view is an overlay of the default content view.

Creating a new panel

To create a new panel, there's a collapsible form appearing just below the page title ("Add panel").

If no panels exist already, the add form appears open to begin with.

Then, simply choose a location (a default choice is already provided), and select a layout. Then add portlets using the "Manage panel" form (see next).

Managing existing panels

In the management interface, a collapsible form appears below existing panels ("Manage panel").

This is similar to Plone's standard portlet interface and in fact uses it directly.

It provides options to add a new portlet, change panel layout or manage existing portlet assignments.

Panel locations

The management interface checks with Plone's viewlet visibility settings to list only the applicable adding locations. This allows an administrator to visit the portal's @@manage-viewlets screen and put a restriction on panel locations.

Adding additional locations is currently not supported. The limitation here is that Plone's viewlet manager framework does not provide labels, or other enumeration.

Layouts

There's a choice of layout for each panel, selected when the panel is first added, with an option to change later on. These layouts are registered as components using an included ZCML-directive.

Use the directive to add additional layouts:

<browser:panel
    name="example"
    title="Example"
    template="templates/example.pt"
    layer=".interfaces.IThemeSpecific"
    />

Installation

Install collective.panels by adding it to your buildout:

[buildout]

...

eggs =
    collective.panels

and then running bin/buildout

Install the module in the add-ons control panel of your plone site.

Contribute

License

The project is licensed under the GPLv2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.