This release is a pre-release and may not be stable for production use.
plone.formwidget.ploneicons
A widget for Plone that shows all available plone icons and can be selected to save its value in a field
Features
- Icon Selector: A searchable modal gallery to pick icons from the Plone registry.
- Plone 6 Integration: Uses native Plone icon resolution and Patternslib.
- DataGridField Compatible: Works out-of-the-box inside
collective.z3cform.datagridfield.
Usage
In a Schema
You can use the widget in your Dexterity content types or behaviors.
from plone.autoform import directives
from plone.formwidget.ploneicons.widget import PloneIconsFieldWidget
from plone.supermodel import model
from zope import schema
class IMyContent(model.Schema):
# Saves "alarm"
directives.widget("icon_name", PloneIconsFieldWidget)
icon_name = schema.TextLine(
title="Icon Name",
required=False,
)
Displaying the Icon
In your templates, you can render the icon using Plone's native icon resolver to get the icon's URL or SVG. See the official Plone documentation on icons for more details.
Installation
Install plone.formwidget.ploneicons with pip:
pip install plone.formwidget.ploneicons
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:collective/plone.formwidget.ploneicons.git cd plone.formwidget.ploneicons
-
Install this code base.
make install
Development 🛠️
Building the JavaScript bundle
The JavaScript for the icon selector pattern is located in the resources directory and must be compiled into a bundle before it can be used by Plone.
-
Ensure you have Node.js installed.
-
Install the npm dependencies:
npm install -
Build the bundle:
npm run build
This will create the compiled files in
src/plone/formwidget/ploneicons/browser/static/bundles. -
For development, you can use the watch mode to automatically rebuild on changes:
npm run watch
Internationalization (i18n)
To update the translation files after changing strings in templates or Python code:
make i18n
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 (2.0.0) and cookieplone-templates (4d90eb9) on 2026-09-17 11:08:19.887369. A special thanks to all contributors and supporters!
Changelog
1.0.0a2 (2026-09-17)
Internal
- Tests and update supported Plone version @erral
1.0.0a1 (2026-09-17)
No significant changes.
Metadata
Release files for plone.formwidget.ploneicons 1.0.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| plone_formwidget_ploneicons-1.0.0a2.tar.gz | 445.0 kB | Without provenance | Details for plone_formwidget_ploneicons-1.0.0a2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| plone_formwidget_ploneicons-1.0.0a2-py3-none-any.whl | Python 3 | none | any | Details for plone_formwidget_ploneicons-1.0.0a2-py3-none-any.whl |
Total release size: 729.0 kB
Release files / plone_formwidget_ploneicons-1.0.0a2.tar.gz
| Download URL | plone_formwidget_ploneicons-1.0.0a2.tar.gz |
|---|---|
| Size | 445.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f5cb688571b8a663189a942637485d28b1d3cc0f46e6be54608d88ab67a3ed0
|
|
BLAKE2b-256 checksum How to use checksums |
4eea722c8fed0f7e6e563c6857f6a46b1c4d8d4dddc5cd4989421a55ec48b602
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.16
|
Release files / plone_formwidget_ploneicons-1.0.0a2-py3-none-any.whl
| Download URL | plone_formwidget_ploneicons-1.0.0a2-py3-none-any.whl |
|---|---|
| Size | 284.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a3840ec0a127fe942f26f70437e1e1f2dbf1bc6361bd182ea87cc0b394e48dd
|
|
BLAKE2b-256 checksum How to use checksums |
1a91b7500089dc8ce08061bec209a9cb0f5a7fef2eb1b47d54ae2c0442735870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.16
|
Security for plone.formwidget.ploneicons 1.0.0a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.