Astuce Surcharger les icônes du site

Transcription

Astuce Surcharger les icônes du site
Astuce
Image not readable or empty
/extension/devnotebook/design/devnotebook/images/icon/trick.png
Surcharger les icônes du site
EZ Publish permet de surcharger les différents icônes du site et en particulier ceux du back-office. Le fichier de
paramétrage de ces icônes est icon.ini.
Le système de gestion des icônes n'est malheureusement pas très bien géré, et il est complexe de l'utiliser de
manière "pluginisée".
Voici deux méthodes pour surcharger les icônes :
La première, plus simple, oblige à ajouter des fichiers dans un répertoire extérieur à une extension.
La seconde, plus propre, oblige à copier tous les icônes par défaut dans son extension.
Méthode simple
Créez le fichier icon.ini.append.php dans votre extension.
Exemple de fichier extension/mon_extension/settings/siteaccess/bo/icon.ini.append.php :
<?php /* #?ini charset="utf-8
"?
[ClassIcons]
# Mapping entre un class_identifier et l'icône à utiliser
# Le chemin complet depuis les dossiers 16x16 et 32x32 doit être précisé
# Nouveaux icônes pour les classes créées
ClassMap[category]=custom/category.png
ClassMap[article]=custom/article.png
*/ ?>
Remarques :
Pour fonctionner, vous devez également créer les fichiers category.png et article.png, dans :
share/icons/crystal-admin/16x16_ghost/custom
share/icons/crystal-admin/16x16_indexed/custom
share/icons/crystal-admin/16x16_original/custom
share/icons/crystal-admin/32x32/custom
Pour chaque nouvelle classe de contenu avec un icône spécifique, ajoutez une entrée dans le fichier
icon.ini.append.php de votre extension, et les images dans les 4 dossiers ci-dessus.
Méthode propre
Commencez par copier le contenu du fichier share/icons/crystal-admin/icon.ini dans un fichier
icon.ini.append.php, dans votre extension.
Exemple de fichier extension/mon_extension/settings/siteaccess/bo/icon.ini.append.php :
<?php /* #?ini charset="utf-8
"?
[IconSettings]
# Dossier dans lequel les thèmes des icônes seront recherchés
Repository=extension/mon_extension/share/icons
# Thème d'icônes à utiliser (=
nom du dossier à créer dans extension/mon_extension/share/icons)
Theme=mon_theme
# Noms des dossiers d'icônes à utiliser en fonction de la situation (=
normal/small/...)
# Ces dossiers devront être présents dans le dossier du thème (ici dans mon_theme)
# Contrairement au fichier icon.ini par défaut, on utilise le même répertoire pour les affichag
Size=normal
Sizes[normal]=32x32
Sizes[small]=16x16
Sizes[ghost]=16x16
Sizes[original]=16x16
[MimeIcons]
# Icône par défaut quand aucun mimetype ne correspond au fichier
Default=mimetypes/binary.png
# Mapping entre les mimetypes et les icônes à utiliser.
# Le chemin complet depuis les dossiers 16x16 et 32x32 doit être précisé
MimeMap[]
MimeMap[text]=mimetypes/ascii.png
MimeMap[image]=mimetypes/image.png
MimeMap[video]=mimetypes/video.png
MimeMap[audio]=mimetypes/sound.png
MimeMap[application/x-gzip]=mimetypes/tgz.png
MimeMap[application/x-bzip2]=mimetypes/tgz.png
MimeMap[application/x-tar]=mimetypes/tgz.png
MimeMap[application/zip]=mimetypes/tgz.png
MimeMap[application/x-rpm]=mimetypes/rpm.png
MimeMap[application/vnd.ms-powerpoint]=mimetypes/powerpoint.png
MimeMap[application/msword]=mimetypes/word.png
MimeMap[application/vnd.ms-excel]=mimetypes/excel.png
MimeMap[application/pdf]=mimetypes/pdf.png
MimeMap[application/postscript]=mimetypes/pdf.png
MimeMap[text/html]=mimetypes/html.png
MimeMap[video/quicktime]=mimetypes/quicktime.png
MimeMap[video/video/vnd.rn-realvideo]=mimetypes/real_doc.png
[ClassGroupIcons]
# Icône par défaut pour un nouveau groupe de classes de contenu
Default=filesystems/folder.png
ClassGroupMap[]
ClassGroupMap[content]=filesystems/folder_txt.png
ClassGroupMap[users]=apps/kuser.png
ClassGroupMap[media]=filesystems/folder_video.png
ClassGroupMap[setup]=apps/package_settings.png
[Icons]
# Icône par défaut pour un élément divers
Default=mimetypes/empty.png
IconMap[]
IconMap[role]=actions/identity.png
IconMap[section]=actions/view_tree.png
IconMap[translation]=apps/locale.png
IconMap[pdfexport]=apps/acroread.png
IconMap[url]=apps/package_network.png
[ClassIcons]
# Icône par défaut pour une nouvelle classe de contenu
Default=mimetypes/empty.png
# Mapping entre un class_identifier et l'icône à utiliser
# Le chemin complet depuis les dossiers 16x16 et 32x32 doit être précisé
ClassMap[]
ClassMap[comment]=mimetypes/txt2.png
ClassMap[common_ini_settings]=apps/package_settings.png
ClassMap[company]=apps/kuser.png
ClassMap[file]=mimetypes/binary.png
ClassMap[folder]=filesystems/folder.png
ClassMap[forum]=filesystems/folder_man.png
ClassMap[forum_message]=mimetypes/txt2.png
ClassMap[forum_reply]=mimetypes/txt2.png
ClassMap[forum_topic]=mimetypes/txt2.png
ClassMap[gallery]=filesystems/folder_image.png
ClassMap[image]=mimetypes/image.png
ClassMap[link]=mimetypes/html.png
ClassMap[person]=apps/personal.png
ClassMap[poll]=mimetypes/log.png
ClassMap[product]=apps/package.png
ClassMap[product_review]=mimetypes/txt2.png
ClassMap[multiprice_product]=apps/package.png
ClassMap[dynamic_vat_product]=apps/package.png
ClassMap[quicktime]=mimetypes/quicktime.png
ClassMap[real_video]=mimetypes/real_doc.png
ClassMap[review]=mimetypes/txt2.png
ClassMap[template_look]=apps/package_settings.png
ClassMap[user]=apps/personal.png
ClassMap[user_group]=apps/kuser.png
ClassMap[weblog]=mimetypes/document.png
ClassMap[windows_media]=mimetypes/video.png
ClassMap[user]=apps/personal.png
ClassMap[user_group]=apps/kuser.png
# Nouveaux icônes pour les classes créées
ClassMap[frontpage]=custom/home.png
ClassMap[category]=custom/category.png
ClassMap[article]=custom/article.png
*/ ?>
Il faut ensuite copier le contenu du dossier share/icons/crystal-admin/16x16_original dans
extension/mon_extension/share/icons/mon_theme/16x16 et le contenu du dossier share/icons/crystaladmin/32x32 dans extension/mon_extension/share/icons/mon_theme/32x32, pour conserver les icônes
déjà existants.
Les nouveaux icônes sont à ajouter dans les dossiers .../mon_theme/16x16/custom et
.../mon_theme/32x32/custom.
Remarques :
Dans cet exemple, le nombre d'icônes est réduit, puisqu'on utilise le même fichier pour les affichages
"small", "ghost" et "indexed".
Si vous avez activé le .htaccess pour votre site, vous devez y ajouter une règle de réécriture, sans quoi
vos icônes ne seront pas acessibles :
RewriteRule ^extension/[^/]+/share/icons/[^/]+/.* - [L]
Publié le : 23/03/2012 Modifié le : 10/04/2015

Documents pareils