Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

plone.formwidget.ploneicons

[![PyPI](https://img.shields.io/pypi/v/plone.formwidget.ploneicons)](https://pypi.org/project/plone.formwidget.ploneicons/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/plone.formwidget.ploneicons)](https://pypi.org/project/plone.formwidget.ploneicons/) [![PyPI - Wheel](https://img.shields.io/pypi/wheel/plone.formwidget.ploneicons)](https://pypi.org/project/plone.formwidget.ploneicons/) [![PyPI - License](https://img.shields.io/pypi/l/plone.formwidget.ploneicons)](https://pypi.org/project/plone.formwidget.ploneicons/) [![PyPI - Status](https://img.shields.io/pypi/status/plone.formwidget.ploneicons)](https://pypi.org/project/plone.formwidget.ploneicons/)

PyPI - Plone Versions

CI Code Style

GitHub contributors GitHub Repo stars

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 ✅

Installation 🔧

  1. Clone this repository, then change your working directory.

    git clone git@github.com:collective/plone.formwidget.ploneicons.git
    cd plone.formwidget.ploneicons
    
  2. 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.

  1. Ensure you have Node.js installed.

  2. Install the npm dependencies:

    npm install
    
  3. Build the bundle:

    npm run build
    

    This will create the compiled files in src/plone/formwidget/ploneicons/browser/static/bundles.

  4. 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.0a1 (2026-09-17)

No significant changes.

Metadata

Release files for plone.formwidget.ploneicons 1.0.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plone.formwidget.ploneicons 1.0.0a1
File Size Uploaded Provenance Actions
plone_formwidget_ploneicons-1.0.0a1.tar.gz 444.1 kB Without provenance Details for plone_formwidget_ploneicons-1.0.0a1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for plone.formwidget.ploneicons 1.0.0a1
File Interpreter ABI Platform Actions
plone_formwidget_ploneicons-1.0.0a1-py3-none-any.whl Python 3 none any Details for plone_formwidget_ploneicons-1.0.0a1-py3-none-any.whl

Total release size: 728.0 kB

Release files / plone_formwidget_ploneicons-1.0.0a1.tar.gz

Download URL plone_formwidget_ploneicons-1.0.0a1.tar.gz
Size 444.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0abe0744118b72539f689d0cc8ede8a8ede6ca9ebd48eb35adfc9d72075c7597
BLAKE2b-256 checksum
How to use checksums
082d2fb8d43f61c6bec25f14a51f946723341822cc2c4e755d2dd91721ced0c1
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.0a1-py3-none-any.whl

Download URL plone_formwidget_ploneicons-1.0.0a1-py3-none-any.whl
Size 283.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
014574be932bda3f312827402044fc03d45962081a2345179eafa1e933047dc7
BLAKE2b-256 checksum
How to use checksums
7c8647ec24a3c330652b85c4d054229435cacf04d78e8675cbc8a3ffaf93bf85
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.0a1

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page