Cara membuat tema admin untuk Magento2

Jawaban:

12

Prosesnya sangat mirip dengan membuat tema untuk frontend.

1. Buat theme.xml dalam

app/design/adminhtml/<yourpackage>/<yourtheme>/theme.xml

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Magento 2 backend</title>
    <parent>Magento/backend</parent> // set parent theme
 </theme>

2. Daftarkan tema di

app/design/adminhtml/<yourpackage>/<yourtheme>/registration.php

3. Aktifkan tema.

you can enable frontend theme in admin, but for backend you need to enable the theme through di.xml 

di app/code/Magento/Theme/etc/di.xml, Anda dapat menemukan blok kode di bawah ini. tambahkan blok kode ini ke modul Anda dan ubah adminhtml ke paket admin Anda dan nama tema.

    <type name="Magento\Theme\Model\View\Design">
       <arguments>
          <argument name="themes" xsi:type="array">
            <item name="frontend" xsi:type="string">Magento/luma</item>
            <item name="adminhtml" xsi:type="string">Magento/backend</item>
         </argument>
      </arguments>
    </type>

Sekarang Anda dapat menimpa sesuatu di tema admin Anda untuk melihat apakah itu berfungsi.

pengguna1506075
sumber
Terima kasih, sangat berguna!
LucScu
2
langkah 3 ditingkatkan di sini magento.stackexchange.com/a/120960/23344
LucScu
1
setelah setup: static-content: deploy nothing dibuat untuk tema adminhtml baru saya, apa yang saya lewatkan? Saya mencoba beberapa konfigurasi pada composer.json tetapi masih tidak ada yang membuat konten statis. Ada saran?
AleGrinGo
2
Tema admin kustom saya tidak memiliki file statis yang dihasilkan setelah menjalankansetup:static-content:deploy
Vasilii Burlacu
saya juga! bagaimana Anda mengatasinya?
LucScu
2

Sistem tema telah sedikit berubah di Magento 2 tetapi ada kesamaan.
Pertama, Anda perlu membuat folder tema di app/design/frontend. Struktur folder mirip dengan struktur modul. Anda harus memiliki nama vendor (dalam Magento 1 disebut paket) dan folder tema.

Jadi buat app/design/frontend/Vendor/theme.
Maka Anda harus mendeklarasikan tema Anda.
Anda perlu membuat di dalam folder tema Anda file theme.xmldengan konten berikut:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Config/etc/theme.xsd">
    <title>Your theme name</title>
    <parent>Magento/blank</parent><!-- or any other parent theme similar to Magento 1.9 -->
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

kemudian buat gambar pratinjau tema Anda di dalam tema Anda di mediafolder (buat ini juga) dan panggil gambar pratinjau preview.jpg(sebagaimana dinyatakan dalam XML di atas).

Sekarang tema Anda sudah diatur.
Jika Anda ingin mengubah sesuatu dari tema induk, yang perlu Anda lakukan adalah menyalin file yang ingin Anda ubah (tata letak, templat) ke tema Anda dari modul tertentu dan lakukan sihir Anda.

Sebagai contoh jika Anda ingin mengubah cara pandangan produk halaman terlihat seperti menyalin file app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xmlke app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xmldan perubahan apa yang Anda butuhkan.

Rincian lebih lanjut tentang membuat tema dapat ditemukan di sini .
Saya juga menemukan contoh tema yang dapat Anda gunakan sebagai pedoman .
Anda juga dapat menginstal data sampel resmi dan Anda akan mendapatkan tema yang disebut di lumamana Anda dapat melihat struktur folder.

Marius
sumber
Terima kasih atas jawaban Anda! Tapi saya pikir saya harus menerjemahkan kesalahan saya, maaf.
Mathieu
Saya ingin mengungguli tema backend (admin theme), bukan frontend.
Mathieu
Tidak ada masalah. Langkah-langkahnya sama, tetapi alih-alih frontenddigunakan adminhtmldalam struktur folder. Prinsipnya sama.
Marius
Ok terima kasih. Tapi, saya tidak mengerti bagaimana cara mendeklarasikan tema baru untuk admin. Apakah ada: "app / code / Magento / Backend / etc / config.xml"?
Mathieu
<stores> <admin> <design> <package> <name> default </name> </package> <theme> <default> backend </default> </theme> </design> </admin> </ store >
Mathieu
2

Jika seseorang memiliki masalah dengan menghasilkan file statis untuk tema admin yang baru dibuat. Agar magento dapat menghasilkan file untuk tema backend pada pengaturan: static-content: deploy, app/design/adminhtml/<yourpackage>/<yourtheme>/web/ folder harus berisi file. File dummy apa pun akan melakukan pekerjaan itu.

drevidchuck
sumber
Saya membuat main.css kosong di folder web dan saya masih tidak mendapatkan file statis dibuat
Scott
@Scott Apakah Anda juga melakukan semua langkah yang diperlukan yang disarankan Marius dalam jawabannya? Dan bagaimana tepatnya jalur relatif ke main.css terlihat dalam kesempatan Anda?
drevidchuck