normann / silverstripe-favicon-manager
Manage favicon and web app manifest files on SiteConfig from a single uploaded generator ZIP.
Package info
github.com/normann/silverstripe-favicon-manager
Type:silverstripe-vendormodule
pkg:composer/normann/silverstripe-favicon-manager
Requires
- php: ^8.3
- ext-fileinfo: *
- ext-zip: *
- silverstripe/asset-admin: ^3.0
- silverstripe/assets: ^3.0
- silverstripe/framework: ^6.0
- silverstripe/siteconfig: ^6.0
- silverstripe/versioned: ^3.0
Requires (Dev)
- phpunit/phpunit: ^11.3
- squizlabs/php_codesniffer: ^3.7
Suggests
- silverstripe/subsites: Automatically namespaces favicon storage per-subsite when installed (^4.0 for SilverStripe 6)
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-13 11:01:04 UTC
README
Upload the ZIP produced by a favicon generator (such as
realfavicongenerator.net) once, in Settings,
and this module extracts, stores, and versions every favicon and manifest file it
contains — no manual uploads, no hand-editing manifest.json paths.
Requirements
| This module | SilverStripe framework | PHP |
|---|---|---|
| ^1.0 | ^5.0 | ^8.1 |
Optional: with silverstripe/subsites
installed, favicon files are automatically namespaced per-subsite — no config needed.
Installation
composer require normann/silverstripe-favicon-manager vendor/bin/sake dev/build flush=1
Usage
- Go to Settings → Favicon in the CMS.
- Generate a favicon package at realfavicongenerator.net (leave any "path relative to webroot" field blank).
- Upload the ZIP via Favicon ZIP file and save.
All icon files plus the manifest are extracted, stored under
/assets/favicons/site<ID>/, and versioned like any other SilverStripe asset.
Re-uploading a new ZIP always replaces the complete previous set.
Screenshots
What visitors see
| Browser tabs | iOS home screen | Android manifest |
|---|---|---|
What the CMS user sees — Settings → Favicon, after uploading a ZIP from realfavicongenerator.net:
Rendering in your template
<% include Favicons %>
Configuration (Optional)
SilverStripe\SiteConfig\SiteConfig: icons_folder_name: 'my-favicons' archives_folder_name: 'zip-archives'
Tests
vendor/bin/phpunit
See CHANGELOG.md for release history — this module follows Semantic Versioning.
License
BSD-3-Clause. See LICENSE.