A new addon for Plone
Project description
cs_dynamicpages
A new addon for Plone to create web-based dynamic pages.
The concept is pretty similar that of Volto blocks:
- You can build a page using reusable items.
- Each item can have different fields
- Each item can have different views
Provided Content Types
-
DynamicPageFolder: this content type will be created in a given folder, and will be the container where all the rows will be added.
-
DynamicPageRow: this content type will be the one that will be rendered in a separate row in the view
-
DynamicPageRowFeatured: this content type can be used to save static information that can be shown in a row. For instance: each of the items of a slider need a title, a description or an image. They can be added using this content-type
Provided View
There is just one view dynamic_view registered for Folders and Naviation roots
Different fields
To provide different fields, you should register standard behaviors to the DynamicPageRow
content type.
Custom views
To provide different views, you should register standard views (using zcml).
Those views must be registered for implementers of cs_dynamicpages.content.dynamic_page_row.IDynamicPageRow
and their name must start by cs_dynamicpages-.
To ease installation of such views in your products, cs_dynamicpages.utils contains 2 utility functions:
add_custom_view: function to add a given view to the list of available row typesenable_behavior: function to enable the given behavior in theDynamicPageRowcontent type
Restrict fields in the row edit view
You may register several behaviors for DynamicPageRow objects but only use some of the fields
provided by them in a given view.
You can restrict which fields are shown in the edit form of the DynamicPageRow going to the
Dynamic Pages Controlpanel, and setting there the list of fields that will be shown when editing
each of the row types.
Installation
Install cs_dynamicpages with pip:
pip install cs_dynamicpages
And to create the Plone site:
make create-site
Contribute
Prerequisites ✅
- An operating system that runs all the requirements mentioned.
- uv
- Make
- Git
- Docker (optional)
Installation 🔧
-
Clone this repository, then change your working directory.
git clone git@github.com:codesyntax/cs_dynamicpages.git cd cs_dynamicpages
-
Install this code base.
make install
Add features using plonecli or bobtemplates.plone
This package provides markers as strings (<!-- extra stuff goes here -->) that are compatible with plonecli and bobtemplates.plone.
These markers act as hooks to add all kinds of subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from plonecli.
To run plonecli with configuration to target this package, run the following command.
make add <template_name>
For example, you can add a content type to your package with the following command.
make add content_type
You can add a behavior with the following command.
make add behavior
You can check the list of available subtemplates in the [`bobtemplates.plone` `README.md` file](https://github.com/plone/bobtemplates.plone/?tab=readme-ov-file#provided-subtemplates).
See also the documentation of [Mockup and Patternslib](https://6.docs.plone.org/classic-ui/mockup.html) for how to build the UI toolkit for Classic UI.
License
The project is licensed under GPLv2.
Credits and acknowledgements 🙏
Generated using Cookieplone (0.9.7) and cookieplone-templates (4d55553) on 2025-07-17 11:59:12.982862. A special thanks to all contributors and supporters!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cs_dynamicpages-1.0.0b3.tar.gz.
File metadata
- Download URL: cs_dynamicpages-1.0.0b3.tar.gz
- Upload date:
- Size: 54.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fd729d5323cac0d85768823af5bdc7b1e88e3dcb4ecc1c2967ed0f1af63407a
|
|
| MD5 |
34affa7fb19262ad683b2bf901bf7475
|
|
| BLAKE2b-256 |
d52496710a63a28b980c5ad03206522e50da786b3d7b1ee5f9d62e1e78b4a297
|
File details
Details for the file cs_dynamicpages-1.0.0b3-py3-none-any.whl.
File metadata
- Download URL: cs_dynamicpages-1.0.0b3-py3-none-any.whl
- Upload date:
- Size: 118.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c60af6a6022d8b3b4ceafc96d76ac34312bd9f07cb9552a3c47745dfd9b6322
|
|
| MD5 |
d74bfe22f60665809c2ab005a863c9f7
|
|
| BLAKE2b-256 |
fd33b4add9daf82fccad1222c2b12d0d97eb048244849c90395ad01ff634748e
|