Muszę dodać ikonę czcionki w menu administratora.
Jak wszystkie podstawowe menu Magento 2, domyślnie pokazuje sześciokątną ikonę niestandardowego menu modułu, jak mogę to zmienić?
1. Utwórz ikonę
Domyślnie magento 2 dodaje niestandardową domyślną ikonę dla twojego modułu.
Możesz jednak dodać niestandardową ikonę do menu niestandardowego modułu administratora.
Utwórz niestandardową ikonę .svg z oprogramowaniem inkscape (oprogramowanie open source dla
tworzenie wektora spróbuj człowieka!).
Utwórz ikonę czcionki dla tej ikony .svg przy pomocy IcoMoon.io
Iść do lib/web/fonts
utwórz folder modułu. przykład Package
i wklej wszystkie pliki uzyskane / wyeksportowane z IcoMoon.io.
Package_Modulename
przejdź do app / design / adminhtml / Magento / backend
utwórz folder o nazwie Package_Modulename / web / css / source /
Utwórz _module.less
plik w folderze źródłowym
Będzie to wyglądać jak Package_Modulename/web/css/source/_module.less
Teraz w pliku _module.less dodaj następujące linie:
@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: tutaj modulename
pochodzietc/adminhtml/menu.xml
<menu>
<add id="Package_Modulename::modulename" title="Modulename" module="Package_Modulename" sortOrder="40" resource="Package_Modulename::modulename"/>
</menu>
zobacz id Magento weź ostatnie słowo po '::' tutaj modulename
i dodaj nazwę do li
nadrzędnego a
tagu HTML, którego wynikiem jest klasaclass='item-modulename parent level-0'
Aby uzyskać więcej informacji krok po kroku, możesz znaleźć http://ibnab.com/en/blog/magento-2/magento-2-backend-how-to-create-custom-menu-in-admin-and-change-default -font-icon
Wypróbowałem powyższe rozwiązanie, ale nie zadziałało. więc próbowałem umieścić
_module.less
plikDirecrtory. i to działa dla mnie.
Nie jest to zalecane, ale nie znalazłem dla tego innego rozwiązania. więc próbuję tego rozwiązania. i to działa. sprawdź następujący plik, aby upewnić się, że działa:
Gdzie powinieneś znaleźć taką linię:
źródło
Wyżej wymienione odpowiedzi są opracowywane różne foldery jak
lib
,design
.Więc pracowaliśmy tylko niestandardowe pliki rozszerzeń. Etapy są następujące:
1) utworzyłeś
menu.xml
plik dlaPackage_Modulename/etc/adminhtml
. Kod to2) Utwórz ikonę czcionki dla tej ikony .svg przy pomocy IcoMoon.io . Więcej informacji Dokumenty
3) Utwórz
default.xml
plik dlaPackage_Modulename/view/adminhtml/layout
. Kodowanie to:4) Utwórz
fonts
folderPackage_Modulename/view/adminhtml/web
i wklej pliki ikon. Pliki są5) Utwórz
icon.css
plik dlaPackage_Modulename/view/adminhtml/web/css
. Kod toźródło
Innym „hackish” sposobem na to jest dodanie przezroczystego obrazu png w
vendor/modulename/view/adminhtml/web/images/icon.png
kilku liniach css wvendor/modulename/view/adminhtml/web/css/styles.css
:Osobiście miałem problemy z generowaniem stron internetowych i szczerze mówiąc, uważam, że takie podejście jest trochę za duże jak na ikonę administratora (obraz 1kb).
źródło
Możesz także poszukać ikony administratora, która już istnieje i odpowiada twoim potrzebom w Ikonografii w Magento Admin Pattern Library, a następnie poszukaj odpowiedniej zmiennej LESS w
vendor/magento/theme-adminhtml-backend/web/css/source/variables/_icons.less
pliku.Jeśli znajdziesz coś przydatnego w tej bibliotece, utwórz plik LESS bezpośrednio w module (nie potrzebujesz motywu adminhtml) pod
Vendor/ModuleName/view/adminhtml/web/css/source/_module.less
i wypełnij go następującą treścią:Następnie musisz usunąć
pub/static/adminhtml/Magento/backend/en_US/css/styles.css
plik i ponownie załadować stronę administratoraźródło