Saya perlu menambahkan ikon font di menu admin.
Seperti semua menu inti magento 2, secara default ini menunjukkan ikon heksagonal untuk menu modul khusus, bagaimana saya bisa mengubahnya?
1. Buat Ikon
Secara default magento 2 tambahkan ikon default khusus untuk modul Anda.
Tetapi Anda dapat menambahkan ikon khusus Anda ke menu modul admin khusus Anda.
Buat ikon kustom .svg dengan perangkat lunak inkscape (open source lunak untuk
membuat vektor, coba!).
Buat ikon font ikon .svg itu dengan bantuan IcoMoon.io
Pergi ke lib/web/fonts
buat folder modul Anda. contoh Package
dan rekatkan semua file yang diperoleh / diekspor dari IcoMoon.io.
Package_Modulename
buka aplikasi / desain / adminhtml / Magento / backend
buat folder dengan nama Package_Modulename / web / css / source /
Buat _module.less
file di bawah folder sumber
Akan terlihat seperti Package_Modulename/web/css/source/_module.less
Sekarang di dalam file Anda _module.less tambahkan baris ini:
@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: modulename
ini berasal darietc/adminhtml/menu.xml
<menu>
<add id="Package_Modulename::modulename" title="Modulename" module="Package_Modulename" sortOrder="40" resource="Package_Modulename::modulename"/>
</menu>
lihat id Magento ambil kata terakhir setelah '::' di sini adalah modulename
dan tambahkan nama ke li
html induk dari a
tag hasil kelasclass='item-modulename parent level-0'
Untuk pemahaman selangkah demi selangkah, Anda dapat merujuk http://ibnab.com/en/blog/magento-2/magento-2-backend-how-to-create-custom-menu-in-admin-and-change-default ikon -font
Saya mencoba solusi di atas tetapi tidak berhasil untuk saya. jadi saya mencoba memasukkan
_module.less
fileDirektori. dan itu bekerja untuk saya.
Ini tidak disarankan tetapi saya tidak menemukan solusi lain untuk ini. jadi saya coba solusi ini. dan itu berhasil. periksa file berikut untuk memastikannya berfungsi:
Di mana Anda harus menemukan garis seperti ini:
sumber
Di atas jawaban disebutkan yang bekerja folder yang berbeda seperti
lib
,design
.Jadi kami hanya mengerjakan file ekstensi khusus. Langkahnya adalah:
1) Anda telah membuat
menu.xml
file untukPackage_Modulename/etc/adminhtml
. Kode adalah2) Buat ikon font ikon .svg itu dengan bantuan IcoMoon.io . Lebih detail Dokumen
3) Buat
default.xml
file untukPackage_Modulename/view/adminhtml/layout
. Coding adalah:4) Buat
fonts
folderPackage_Modulename/view/adminhtml/web
dan tempel file ikon. File adalah5) Buat
icon.css
file untukPackage_Modulename/view/adminhtml/web/css
. Kode adalahsumber
Cara lain "meretas" untuk melakukannya adalah dengan menambahkan gambar png transparan di
vendor/modulename/view/adminhtml/web/images/icon.png
dan beberapa baris css divendor/modulename/view/adminhtml/web/css/styles.css
:Saya pribadi mengalami kesulitan membuat webfonts dan sejujurnya saya menemukan pendekatan itu terlalu banyak untuk ikon admin (gambar 1kb).
sumber
Anda juga bisa mencari ikon admin yang sudah ada dan cocok dengan kebutuhan Anda di dalam Iconography di Magento Library Pattern Library dan kemudian mencari variabel KURANG yang sesuai pada
vendor/magento/theme-adminhtml-backend/web/css/source/variables/_icons.less
file.Jika Anda menemukan sesuatu yang berguna di perpustakaan ini, buat file KURANG Anda langsung di dalam modul Anda (tidak perlu tema adminhtml) di
Vendor/ModuleName/view/adminhtml/web/css/source/_module.less
dan isi dengan konten berikut:Kemudian, Anda harus menghapus
pub/static/adminhtml/Magento/backend/en_US/css/styles.css
file, dan memuat kembali halaman adminsumber