TYPO3 Icon Picker
=================
Form element for icon selection. Generates a browsable gallery of your
icon fonts and SVGs - just link your stylesheet or image directory.
Works with FontAwesome, Bootstrap, Icomoon.. Optionally adds icon field
to pages and tt_content.
.. figure:: https://bytebucket.org/blueways/bw_icons/raw/master/Documentation/Images/backend1.jpg
:alt: Backend Form
Backend Form
Demo
----
.. figure:: https://bytebucket.org/blueways/bw_icons/raw/master/Documentation/Images/preview.gif
:alt: Video preview
Video preview
Installation
------------
1. Install via composer
.. code:: bash
composer require blueways/bw-icons
2. Update database schema
3. Include PageTS
Enable the extension in the Extension Manager and include the
**static PageTS** for TYPO3 core icons or set up your own icons. See
*Configuration* section.
4. Enable icons for tt_content and/or pages
In the extension settings
(``Admin Tools → Extension Configuration → bw_icons``), you can
enable the icon fields. If you want to use it for other tables, see
*For developers* section.
Configuration
-------------
The displayed icons are set up via PageTS. Choose a unique identifier
and select ``FileIconProvider`` if you want to add image files from a
directory or ``CssIconProvider`` if you want to display font icons from
a stylesheet.
::
mod.tx_bwicons {
# Get icons from directory and subdirectory. Subdirectories become sidebar links.
typo3icons = Blueways\BwIcons\Provider\FileIconProvider
typo3icons {
title = TYPO3 Icons
folder = EXT:core/Resources/Public/Icons/T3Icons/svgs
}
# Get icons from stylesheet. Multiple font-faces in one file become sidebar links.
fontawesome = Blueways\BwIcons\Provider\CssIconProvider
fontawesome {
title = FontAwsome
file = fileadmin/fontawesome/css/all.css
}
}
After changing the settings, make sure to clear the cache.
Usage
-----
The icons are saved as filename
(e.g. ``EXT:myext/Resources/Public/Images/icon.svg`` or
``fileadmin/icons/foo.png``) if you use the ``FileIconProvider`` or as
css class names (e.g. ``fas fa-arrow-right``) by using
``CssIconProvider``.
If you have configured only the selection of SVGs, you can safely use
the ```` viewHelper in your
fluid template.
By only using font icons, you can output like
````.
If you have a mixture, you can use my ViewHelper that determines the
type by checking for a dot in the icon name:
.. code:: html
{namespace bw=Blueways\BwIcons\ViewHelpers}
Hello world!
Output:
::
Hello world!
or
::
Hello world!
For developers
--------------
Usage in other tables
~~~~~~~~~~~~~~~~~~~~~
1. Create database field for the icon:
.. code:: sql
create table tx_myext_domain_model_foo (
icon_field varchar(255) not null default '',
);
2. Edit TCA: Add the renderType ``iconSelection`` in the config array:
.. code:: php
...
'icon_field' => [
'label' => 'My Icon',
'config' => [
'type' => 'input',
'renderType' => 'iconSelection'
]
],
...
New icon sources
~~~~~~~~~~~~~~~~
If you want to add other icon sources (e.g. from API), you can create
your own IconProvider. Just make sure to extend from
``Blueways\BwIcons\Provider\AbstractIconProvider``.
Contribute
----------
This extension was made by Maik Schneider from
`blueways `__. Feel free to contribute!
- `Bitbucket-Repository `__