Jak stworzyć motyw administratora dla Magento2

Odpowiedzi:

12

Proces jest podobny do tworzenia motywu dla interfejsu użytkownika.

1. Utwórz plik theme.xml w

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. Zarejestruj motyw w

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

3. Włącz motyw.

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

w app/code/Magento/Theme/etc/di.xml, możesz znaleźć blok kodu poniżej. dodaj ten blok kodu do modułu i zmień adminhtml na pakiet administratora i nazwę motywu.

    <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>

Teraz możesz nadpisać coś w motywie administratora, aby zobaczyć, czy to działa.

użytkownik1506075
źródło
dzięki, bardzo przydatne!
LucScu,
2
ulepszony krok 3 tutaj magento.stackexchange.com/a/120960/23344
LucScu
1
po instalacji: zawartość statyczna: wdrożyć nic nie jest tworzone w moim nowym motywie adminhtml, czego mi brakuje? Próbuję kilka konfiguracji na composer.json, ale nadal nie mogę utworzyć nic w treści statycznej. Jakieś sugestie?
AleGrinGo
2
Mój niestandardowy motyw administracyjny nie ma generowanych plików statycznych po uruchomieniusetup:static-content:deploy
Vasilii Burlacu,
Ja też! jak to rozwiązujesz?
LucScu,
2

System motywów nieco się zmienił w Magento 2, ale istnieją podobieństwa.
Najpierw musisz utworzyć folder motywów app/design/frontend. Struktura folderów jest podobna do struktury modułów. Musisz mieć nazwę dostawcy (w Magento 1 został nazwany pakiet) i folder motywów.

Więc stwórz app/design/frontend/Vendor/theme.
Następnie musisz zadeklarować swój motyw.
musisz utworzyć w folderze motywu plik theme.xmlo następującej treści:

<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>

następnie utwórz obraz podglądu motywu wewnątrz motywu w mediafolderze (utwórz go również) i wywołaj obraz podglądu preview.jpg(jak zadeklarowano w powyższym pliku XML).

Teraz Twój motyw jest ustawiony.
Jeśli chcesz zmienić coś z motywu nadrzędnego, wystarczy skopiować plik, który chcesz zmienić (układ, szablon) do motywu z określonego modułu i wykonać magię.

Na przykład, jeśli chcesz zmienić sposób, że widok produkt strona wygląda skopiować plik app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xmldo app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xmli zmienić to, co trzeba.

Więcej informacji na temat tworzenia motywu można znaleźć tutaj .
Znalazłem również przykładowy motyw, którego możesz użyć jako wskazówki .
Możesz także zainstalować oficjalne przykładowe dane, a otrzymasz motyw o nazwie, w lumaktórej możesz zobaczyć strukturę folderów.

Marius
źródło
Dziękuję za odpowiedź! Ale myślę, że muszę przełożyć moje złe, przepraszam.
Mathieu,
Chcę zastąpić motyw zaplecza (motyw administratora), a nie interfejs użytkownika.
Mathieu,
To nie jest problem. Kroki są takie same, ale zamiast frontendużywać adminhtmlw strukturze folderów. Zasada jest taka sama.
Marius
Ok dzięki. Ale nie rozumiem, jak zadeklarować nowy motyw dla administratora. Czy jest: „app / code / Magento / Backend / etc / config.xml”?
Mathieu,
<stores> <admin> <design> <package> <name> default </name> </package> <theme> <default> backend </default> </theme> </design> </admin> </ przechowuje >
Mathieu,
2

W przypadku problemów z generowaniem plików statycznych dla nowo utworzonego motywu administratora. Aby magento generowało pliki dla motywu zaplecza podczas instalacji: zawartość statyczna: wdrażanie, app/design/adminhtml/<yourpackage>/<yourtheme>/web/ folder powinien zawierać pliki. Każdy plik fikcyjny wykonałby zadanie.

drevidchuck
źródło
Utworzyłem pusty plik main.css w folderze internetowym i nadal nie otrzymuję żadnych plików statycznych
Scott
@ Scott Czy wykonałeś również wszystkie wymagane kroki, które Marius zasugerował w swojej odpowiedzi? A jak dokładnie wygląda ścieżka względna do main.css przy okazji?
drevidchuck