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 963
Dependents: 1
Suggesters: 0
Security: 0
Stars: 16
Watchers: 5
Forks: 11
Open Issues: 10
Type:craft-plugin
pkg:composer/dolphiq/iconpicker
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 Fieldtype will be available when adding a new field - Settings > Fields > Add new field
Creating a field with the iconpicker field type
- Choose the Iconpicker Fieldtype
- When adding a new field with the Iconpicker Fieldtype, 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

