Skip to main content

Adds the ability to tweak portlet ordering by giving each portlet a weight.

Project description

Introduction

Travis CI badge Downloads

The Plone portlets system gives site managers a powerful system for assigning portlets to different sections, content types, and groups. However, there is a predefined order in which portlets coming from these sources are displayed. So there is no built-in way to, for instance, specify that one contextual portlet should appear above any inherited portlets and another one should appear below them.

This product addresses that limitation by adding to each portlet assignment a “weight” field on the portlet management pages, where an integer can be specified (it defaults to 50). The full list of portlets will be retrieved in their standard order; then a final sort based on the weight will be applied before the portlets are displayed. Portlets with a lower weight will be sorted to the top, while portlets with a higher weight will be sorted to the bottom.

So, for example, if I wanted to display one contextual portlet above all inherited portlets and one contextual portlet below all inherited portlets, I could set their weights to 40 and 60 respectively.

Note that adjustments to the portlet order are saved via an AJAX request; you don’t have to press a button and reload the page to save the new weights.

Import and export of portlet assignment weights via GenericSetup is also supported.

Installation

Add the collective.weightedportlets egg to your buildout. If using Plone 3.1 or 3.2, make sure you add its ZCML as well. The ZCML should be loaded automatically in Plone >= 3.3.

Start Zope and install “Weighted Portlet Ordering” via the Add/Remove Products panel in Site Setup.

Compatibility

This product requires Plone 3.1 or greater.

This product operates by overriding the following parts of the portlet machinery. You may run into problems if using other products or custom code that also overrides these components:

  • the template macros used to render the portlet management UI

  • the IPortletRetriever adapter

  • the IPortletAssignmentExportImportHandler adapter

Self-certification

  • [X] Internationalized

  • [X] Unit tests

  • [X] End-user documentation

  • [X] Internal documentation (documentation, interfaces, etc.)

  • [X] Existed and maintained for at least 6 months

  • [X] Installs and uninstalls cleanly

  • [X] Code structure follows best practice

  • [X] No side effects on Plone sites where not installed

Credits

David Glick [davisagli]

Thanks to Martin Aspeli for the Plone 3 portlet system.

Change history

1.2 (2017-09-05)

  • Support plone.portlets 2.3 [montypie]

1.1 (2013-10-16)

  • Submit changes to portlet weights using jQuery rather than KSS.

    This makes the addon compatible with Plone 4.3.

    You must run the upgrade step to install the javascript.

    [AdCastle, davisagli]

1.0 (2009-10-12)

  • Override the portlet edit macros in a way that is more compatible with ongoing changes in the base template from plone.app.portlets. [davisagli]

1.0rc2 (2009-05-04)

  • Add version.txt so the version shows correctly in Plone <3.3. [davisagli]

  • Fixed last-minute typo that made it into the edit macros. [davisagli]

1.0rc1 (2009-05-01)

  • Initial release. [davisagli]

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

collective.weightedportlets-1.2.tar.gz (18.3 kB view details)

Uploaded Source

File details

Details for the file collective.weightedportlets-1.2.tar.gz.

File metadata

File hashes

Hashes for collective.weightedportlets-1.2.tar.gz
Algorithm Hash digest
SHA256 69377c52fbc939d6f22e3e7182591ddaeb77c94bc8ee8a789ee8283045606dd3
MD5 bee1bda8ead03d8fb16e7904556fedc0
BLAKE2b-256 a6862f555402c77b4afd43f9041fc649957d18cfde4cadb322d4094b519232c8

See more details on using hashes here.

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