netgroup/icontoolkit

Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, sie bietet Werkzeuge zur Verwendung von [Font Awesome](https://fontawesome.com/). Unter anderem stellt sie ein IconPicker für das Backend und ein Modul zur Einbindung der Assets für das Frontend zur Verfügung.

Installs: 7

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:contao-bundle

pkg:composer/netgroup/icontoolkit

1.0.0 2025-12-15 09:32 UTC

This package is auto-updated.

Last update: 2025-12-15 09:51:53 UTC


README

Beschreibung

Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao. Sie bietet Werkzeuge zur Verwendung von Font Awesome. Unter anderem stellt sie ein IconPicker für das Backend und ein Modul zur Einbindung der Assets für das Frontend zur Verfügung.

Font Awesome 7.1.0 wird mit ausgeliefert.

Autor

NetGroup GmbH: Patrick Froch info@netgroup.de

Support

NetGroup Gesellschaft für Informationstechnologien in Deutschland mbH
Kaiserstraße 67
44135 Dortmund

Kontakt:
Telefon: +49 231 557509-0
Telefax: +49 231 557509-99
E-Mail: info@netgroup.de

Internet: https://www.netgroup.de/icontoolkit.html

Voraussetzungen

  • php: ^8.2
  • Contao: ^4.13 | ^5.0

Installation

Die Erweiterung kann bequem über den Contao Manager installiert werden. Einfach nach netgroup/userguide suchen.

Alternativ via Composer:

composer require netgroup/icontoolkit

Verwendung

Backend Widget

Das Backend Widget kann für die Auswahl eines Icons verwendet werden.

$GLOBALS['TL_DCA'][$table]['palettes']['text'] .= ';{icon_legend},icotest;';

$GLOBALS['TL_DCA']['tl_content']['fields']['icotest'] = [
    'label'                 => &$GLOBALS['TL_LANG'][$table]['icotest'],
    'inputType'             => IconPickerWidget::TYPE,
    'eval'                  => ['maxlength'=>255, 'tl_class' => 'w50'],
    'sql'                   => "varchar(255) NOT NULL default ''"
];

Die Ausgabe sieht dann wie folgt aus:

widget.png

Frontend Module

Für das Einbinden des CSS gibt es das Frontend Modul "IconHelper". Es bindet nur das CSS ein und erzeugt sonst keine Ausgabe.

Im Frontend können die Icons ganz normal verwendet werden:

<i class="fa-brands fa-contao"></i>

AssetHelper

Mit dem AssetHelper kann ganz einfach das CSS für die Icons eingebunden werden. Er kann z. B. in eigenen Inhaltselementen, oder Module verwendet werden.

use NetGroup\IconToolkit\Classes\Services\Helper\AssetHelper;

MyClass {
    public function __construct(private readonly AssetHelper $assetHelper)
    {
    }

    public function myFunction(): void
    {
        $this->assetHelper->incldueCss();
    }
}

Font Awesome

Die aktuelle Version von Font Awesome kann auf folgender Seite bezogen werden: https://fontawesome.com/download

Aus dem Archiv werden die Ordner css und webfonts, sowie die Daten metadata/icons.json benötigt.

Alternative Icon Packs

In den Einstellungen an die CSS-Datei eines alternativen Iconpacks ausgewählt werden. Zusätzlich muss die JSON-Datei mit der Definition der Icons ausgewählt werden. (Diese muss dem Aufbau der Datei metadata/icons.json von Font Awesome entsprechen)

Mitwirken

Beiträge sind herzlich willkommen! Bitte erstellen Sie bei größeren Änderungen zunächst ein Issue, um die geplanten Anpassungen zu besprechen.

Pull Requests sollten mit entsprechenden Tests ergänzt werden.

Tests

Tests können mit folgendem Skript im Wurzelverzeichnis der Erweiterung ausgeführt werden:

./build/runtests.sh

(Dies setzt voraus, dass die Erweiterung unter CONTAO_ROOT/src/NetGroup/IconToolkit installiert ist. Ist dies nicht der Fall, müssen die Testtools einzeln aufgerufen werden. Die Kommandos stehen in der oben genannten Datei.)

Getestete Versionen

Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:

Contao PHP 8.2 PHP 8.3 PHP 8.4
Contao 4.13
Contao 5.0
Contao 5.1
Contao 5.2
Contao 5.3
Contao 5.4
Contao 5.5

Lizenz

Dieses Projekt steht unter der Apache 2.0 Lizenz.