J'ai besoin d'ajouter une icône de police dans le menu d'administration.
Comme tous les menus principaux de magento 2, par défaut, il affiche l'icône hexagonale du menu du module personnalisé, comment puis-je le changer?
1. Créer une icône
Par défaut, magento 2 ajoute une icône par défaut personnalisée pour votre module.
Mais vous pouvez ajouter votre icône personnalisée à votre menu de module d'administration personnalisé.
Créez une icône personnalisée .svg avec le logiciel inkscape (logiciel open source pour
création de vecteur essayer l'homme!).
Créez l'icône de police de cette icône .svg avec l'aide de IcoMoon.io
Aller à lib/web/fonts
créez votre dossier de module. exemple Package
et collez tous les fichiers obtenus / exportés depuis IcoMoon.io.
Package_Modulename
allez dans app / design / adminhtml / Magento / backend
créer un dossier avec le nom Package_Modulename / web / css / source /
Créer un _module.less
fichier sous le dossier source
Cela ressemblera à Package_Modulename/web/css/source/_module.less
Maintenant, dans votre fichier _module.less, ajoutez ces lignes:
@modulename-icons-admin__font-name-path: '@{baseDir}fonts/modulename/icomoon';
@modulename-icons-admin__font-name : 'modulename';
.font-face(
@family-name:@modulename-icons-admin__font-name,
@font-path: @modulename-icons-admin__font-name-path,
@font-weight: normal,
@font-style: normal
);
.admin__menu .item-modulename.parent.level-0 > a:before {
font-family: @modulename-icons-admin__font-name;
content: "\e800";
}
item-modulename: voici modulename
vient deetc/adminhtml/menu.xml
<menu>
<add id="Package_Modulename::modulename" title="Modulename" module="Package_Modulename" sortOrder="40" resource="Package_Modulename::modulename"/>
</menu>
voir l'id Magento prendre le dernier mot après '::' voici modulename
et ajouter le nom au li
parent html de la a
balise le résultat de la classe estclass='item-modulename parent level-0'
Pour une compréhension plus détaillée, vous pouvez consulter http://ibnab.com/en/blog/magento-2/magento-2-backend-how-to-create-custom-menu-in-admin-and-change-default -font-icon
J'ai essayé la solution ci-dessus mais cela n'a pas fonctionné pour moi. donc j'ai essayé de mettre le
_module.less
fichierDirecrtory. Et ça fonctionne pour moi.
Ce n'est pas recommandé mais je n'ai trouvé aucune autre solution pour cela. donc j'essaie cette solution. et il fonctionne. vérifiez le fichier suivant pour vous assurer qu'il fonctionne:
Où vous devriez trouver une ligne comme celle-ci:
la source
Au- dessus de réponse mentionnés sont les différents dossiers travaillé comme
lib
,design
.Nous n'avons donc travaillé que les fichiers d'extension personnalisés. Les étapes sont les suivantes:
1) vous avez créé le
menu.xml
fichier pourPackage_Modulename/etc/adminhtml
. Le code est2) Créez l'icône de police de cette icône .svg avec l'aide de IcoMoon.io . Plus de détails Documents
3) Créez le
default.xml
fichier pourPackage_Modulename/view/adminhtml/layout
. Le codage est:4) Créez le
fonts
dossierPackage_Modulename/view/adminhtml/web
et collez les fichiers d'icônes. Les fichiers sont5) Créez le
icon.css
fichier pourPackage_Modulename/view/adminhtml/web/css
. Le code estla source
Une autre façon "hackish" de le faire est d'ajouter une image png transparente dans le
vendor/modulename/view/adminhtml/web/images/icon.png
et quelques lignes css dans levendor/modulename/view/adminhtml/web/css/styles.css
:Personnellement, j'ai eu des difficultés à générer les polices Web et pour être honnête, je trouve cette approche un peu trop pour une icône d'administration (image de 1 Ko).
la source
Vous pouvez également rechercher une icône d'administration qui existe déjà et correspond à vos besoins dans l' iconographie dans la bibliothèque de modèles d'administration Magento , puis rechercher la variable LESS correspondante dans le
vendor/magento/theme-adminhtml-backend/web/css/source/variables/_icons.less
fichier.Si vous trouvez quelque chose d'utile dans cette bibliothèque, créez votre fichier LESS directement dans votre module (pas besoin de thème adminhtml) sur
Vendor/ModuleName/view/adminhtml/web/css/source/_module.less
et remplissez-le avec le contenu suivant:Ensuite, vous devez supprimer le
pub/static/adminhtml/Magento/backend/en_US/css/styles.css
fichier et recharger la page d'administrationla source