dolphiq / iconpicker
Craft Iconpicker field type that offers end-users an easy way to pick an icon/symbol from a .woff or .ttf font file.
Installs: 13 881
Dependents: 1
Suggesters: 0
Security: 0
Stars: 16
Watchers: 5
Forks: 11
Open Issues: 10
Type:craft-plugin
Requires
- craftcms/cms: ^3.0.0-RC2
- phenx/php-font-lib: ^0.5.0
This package is not auto-updated.
Last update: 2024-08-27 17:05:30 UTC
README
Currently the project is DISCONTINUED. However, feel free to fork it and continue its development!
Craft plugin that provides a new field type that offers users an easy way to pick an icon from a .woff or .ttf font file. You can easily use ionicons or font awesome icons
Note: This plugin may become a paid add-on when the Craft Plugin store becomes available.
Requirements
- Craft 3.0 (beta 20)+
- PHP 7.0+
- PhenX PHP Font Lib
- One or more .ttf or .woff files
Example
Example of the field usage in the template for a cms user
Example of the selection popup
Installation
-
Install with Composer
composer require dolphiq/iconpicker
-
Install plugin in the Craft Control Panel under Settings > Plugins
-
Add the plugin assets to your application by adding the following line at the begin of your template:
{% do view.registerAssetBundle("plugins\\dolphiq\\iconpicker\\assets\\sharedAsset") %}
-
Add the fonts you want to the following directory
/vendor/dolphiq/iconpicker/src/resources-shared/fonts
-
The
Iconpicker Field
type will be available when adding a new field - Settings > Fields > Add new field
Creating a field with the iconpicker field type
- Choose the
Iconpicker Field
type - When adding a new field with the
Iconpicker Field
type, you can choose which font you want to use for that field from the dropdown
Using the iconpicker field type
- Add the field to a field layout (for example to a section)
- You can now choose an icon when creating or updating a section
Usage sample in twig template
Quick example code
{% do view.registerAssetBundle("plugins\\dolphiq\\iconpicker\\assets\\sharedAsset") %}
<html style="padding: 0; margin: 0;">
<head>
<title></title>
{{ head() }}
</head>
<body>
{{ beginBody() }}
{% if entry.iconPickerField.icon %}
Hex: {{ entry.iconPickerField.icon }}<br>
{{ entry.iconPickerField.iconSpan|raw }}
{% endif %}
{{ endBody() }}
</body>
</html>
Display an icon with a custom class:
<span class='{{ entry.iconClass }} myCustomClass'>{{ entry.iconChar }}</span>
Properties of the icon field
-
Get the icon unicode (decimal)
{{ entry.fieldName.icon }}
-
Get the icon unicode (hexadecimal)
{{ entry.fieldName.iconHex }}
-
Display the icon as html character
�
{{ entry.fieldName.iconChar|raw }}
-
Display the icon as html character hex

{{ entry.fieldName.iconCharHex|raw }}
-
Display the icon as span with character and font class
{{ entry.fieldName.iconSpan|raw }}
-
Get the icon font class
{{ entry.fieldName.iconClass }}
-
Conditional example of showing icon only when it is set
{% if entry.fieldName.icon %} {{ entry.fieldName.iconSpan|raw }} {% endif %}
Iconpicker Roadmap
- Select and upload the fonts in the UI
- Enable (name) search while picking an icon
Contributors & Developers
Lucas Weijers - Original developer Johan Zandstra - Minor changes Brought to you by Dolphiq info@dolphiq.nl