nthmedia / cp-site-icons
Display site icon when editing entries
Installs: 3 335
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:craft-plugin
pkg:composer/nthmedia/cp-site-icons
Requires
- php: ^8.0
- craftcms/cms: ^5.0.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/rector: dev-main
- phpstan/phpstan: ^1.6
README
Display site icon when editing entries, to be able to distinguish between different sites.
Requirements
This plugin requires Craft CMS 5.
Installation
To install the plugin, follow these instructions.
-
Open your terminal and go to your Craft project:
cd /path/to/project -
Then tell Composer to load the plugin:
composer require nthmedia/cp-site-icons -
In the Control Panel, go to Settings → Plugins and click the "Install" button for CP Site Icons. Or enable it through the command line:
./craft plugin/install cp-site-icons -
You can choose if you want the site handle or site language as key to distinguish your sites. This key is also the key of the icons array in the config.
-
Create
/config/cp-site-icons.phpand add your configuration.
Configuration
Basic example with emoji flags
<?php return [ 'icons' => [ 'de' => '🇩🇪', 'de-AT' => '🇦🇹', 'en' => '🇬🇧', 'es' => '🇪🇸', 'fr' => '🇫🇷', 'it' => '🇮🇹', 'nl' => '🇳🇱', 'nl-BE' => '🇧🇪', ], ];
Custom CSS properties
You can also use handles and/or custom CSS properties:
<?php return [ 'icons' => [ 'siteA' => [ 'background' => 'url(/favicon/favicon-32x32.png)', 'background-size' => 'cover', 'content' => '""', ], ], ];
Position
By default, icons are shown on the page title when editing entries. Since version 3.1.0, you can also replace the globe icon in the breadcrumb bar with a site icon.
Use the position option to control where icons appear:
<?php return [ // Show icon in the breadcrumb only 'position' => ['breadcrumbIcon'], // Show icon on the page title only (default) 'position' => ['pageTitle'], // Show icon in both locations 'position' => ['breadcrumbIcon', 'pageTitle'], 'icons' => [ 'en' => '🇬🇧', 'nl' => '🇳🇱', ], ];
When position is omitted, it defaults to ['pageTitle'] for backwards compatibility.
Credits
- Brought to you by NTH media
- Based on a code snippet of Dennis Frank, shared at DotAll 2021.