Skip to main content

Behavior for Folder and Collection to manipulate various appearance settings using Bootstrap (column layout) and patternslib (masonry, inject)

Project description

https://github.com/collective/collective.gridlisting/actions/workflows/plone-package.yml/badge.svg

collective.gridlisting

Adds a Behavior to manipulate various listing appearance settings using Bootstrap 5 (column layout) and patternslib (masonry).

This behavior is automatically enabled for “Folder” and “Collection” when you install it.

Features

  • Adds new view template “Grid listing” for “Folder” and “Collection”

  • You get a new “Grid listing” tab when editing a Folder or a Collection where you can set various options for the listing template.

Get started

  1. Install collective.gridlisting in the Add-ons controlpanel

  2. Go to a folder and select Grid listing from the Display menu

  3. Edit the folder and go to the Grid listing tab

  4. You can enter CSS classes for the grid items and/or enable Masonry layout.

Grid setup

The grid structure is set up as follows:

Container row

Column

Column content

text

image

You can define css classes for each of those containers.

For example if you simply want a responsive 4/2/1 column layout you can set the Container row CSS class to:

row-cols-1 row-cols-lg-2 row-cols-xl-4

You can also define borders, margins and paddings for the column content with Column content CSS Class:

border border-primary m-2 p-2

And you can further experiment with gutters or backgrounds.

Inside the column, the text and image information can be defined separately. You can for example simply switch the order of text/image with:

Column content text: col order-2

Column content image: col order-1

or put the image above the text with:

Column content text: col-12 order-2

Column content image: col-12 order-1

For more information on the CSS definitions see the Bootstrap documentation:

https://getbootstrap.com/docs/5.3/layout/grid/

Special Example: Card listing

The following values gives you a listing with cards, cell height 100% and image at the top:

  • Container row: row-cols-3 (3 columns)

  • Column: pb-3 (spacing below card)

  • Column content: card h-100 (card outline, 100% cell height)

  • Column content text: order-2 card-body (text below image)

  • Column content image: order-1 card-img-top (image above text)

et voila!

NOTE: If you enable Masonry layout you have to remove h-100 from Column content and you have a masonry card listing like shown here: https://getbootstrap.com/docs/5.3/examples/masonry/

Translations

This product has been translated into

  • English

  • German

Installation

Install collective.gridlisting by adding it to your buildout:

[buildout]

...

eggs =
    collective.gridlisting

and then running bin/buildout

Contributors

Contribute

License

The project is licensed under the GPLv2.

Changelog

2.0.0 (2026-01-13)

Breaking changes:

  • Native namespace package support only (drop support for Python <3.10 and Plone <6.1). @petschki

Internal:

  • Update configuration files. [plone devs]

1.2.4 (2025-03-12)

  • Fix non-required boolean field. [petschki]

1.2.3 (2025-03-11)

  • Refactor default value lookup from adapter to defaultFactory. [petschki]

1.2.2 (2025-03-05)

  • Fix IValue adapter to lookup only our behavior fields. [petschki]

  • JS Dependency cleanup and upgrades. [petschki]

1.2.1 (2024-10-25)

  • Dependency updates. [petschki]

1.2.0 (2024-07-02)

  • Enable cropping for preview images. [petschki]

1.1.3 (2024-07-02)

  • Fix value for preview_scale. [petschki]

1.1.2 (2024-07-02)

  • Fix default values for show_more_link and more_link_text [petschki]

1.1.1 (2024-06-06)

  • Fix missing_value for Choice Fields. [petschki]

1.1.0 (2024-06-04)

  • Add controlpanel to define site-wide defaults. [petschki]

1.0.0 (2023-06-28)

  • Initial release. See README.rst [petschki]

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_gridlisting-2.0.0.tar.gz (325.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collective_gridlisting-2.0.0-py3-none-any.whl (334.9 kB view details)

Uploaded Python 3

File details

Details for the file collective_gridlisting-2.0.0.tar.gz.

File metadata

  • Download URL: collective_gridlisting-2.0.0.tar.gz
  • Upload date:
  • Size: 325.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for collective_gridlisting-2.0.0.tar.gz
Algorithm Hash digest
SHA256 07a35d4876b4da3ab7e25cbedc6aaa17be191f1f32a096415be9189d47d33098
MD5 766c34b4b241ef0dc323652fa2d9dfbc
BLAKE2b-256 6dcebda9b74584ca9668271a10aa8508773f79131337eb0ad6fc7542067436b8

See more details on using hashes here.

File details

Details for the file collective_gridlisting-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for collective_gridlisting-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf2395c208ebea17e17328976450dae1df78dbfa250a447ab0db1c30563aadd4
MD5 d1d44c1e978bd2de6811a0929b901a6c
BLAKE2b-256 2a2b059d312ef08ec981578018f4c3c3baa45673fae02f6f74791fb868b48a57

See more details on using hashes here.

Supported by

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