So erstellen Sie ein Admin-Design für Magento2

Antworten:

12

Der Prozess ähnelt dem Erstellen eines Themas für das Frontend.

1. Erstellen Sie theme.xml in

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. Registrieren Sie das Thema in

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

3. Aktivieren Sie das Thema.

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

In app/code/Magento/Theme/etc/di.xmlfinden Sie unten einen Codeblock. Fügen Sie diesen Codeblock zu Ihrem Modul hinzu und ändern Sie adminhtml in Ihren Admin-Paket- und Themennamen.

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

Jetzt können Sie etwas in Ihrem Admin-Thema überschreiben, um zu sehen, ob es funktioniert.

user1506075
quelle
Danke, sehr nützlich!
LucScu
2
Schritt 3 hier verbessert magento.stackexchange.com/a/120960/23344
LucScu
1
Nach dem Setup: Static-Content: Deploy wird nichts für mein neues Adminhtml-Theme erstellt. Was fehlt mir? Ich versuche mehrere config auf der composer.json aber immer noch nichts unter statischen Inhalten zu erstellen. Irgendein Vorschlag?
AleGrinGo
2
Mein benutzerdefiniertes Admin-Thema hat keine statischen Dateien nach dem Ausführen generiertsetup:static-content:deploy
Vasilii Burlacu
ich auch! Wie lösen Sie das Problem?
LucScu
2

Das Themensystem hat sich in Magento 2 etwas geändert, aber es gibt Ähnlichkeiten.
Zuerst müssen Sie einen Themenordner in erstellen app/design/frontend. Die Ordnerstruktur ähnelt der Modulstruktur. Sie müssen einen Anbieternamen (in Magento 1 wurde Paket genannt) und einen Themenordner haben.

Also erschaffe app/design/frontend/Vendor/theme.
Dann müssen Sie Ihr Thema deklarieren.
Sie müssen in Ihrem Themenordner eine Datei theme.xmlmit folgendem Inhalt erstellen :

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

Erstellen Sie dann ein Vorschaubild Ihres Themas in Ihrem Thema im mediaOrdner (erstellen Sie dieses ebenfalls) und rufen Sie das Vorschaubild auf preview.jpg(wie in der obigen XML-Datei angegeben).

Jetzt ist Ihr Thema festgelegt.
Wenn Sie etwas vom übergeordneten Thema ändern möchten, müssen Sie lediglich die zu ändernde Datei (Layout, Vorlage) aus dem jeweiligen Modul in Ihr Thema kopieren und Ihre Magie ausführen.

Wenn Sie beispielsweise die Art und Weise ändern möchten, in der die Produktansichtseite aussieht, kopieren Sie die Datei app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xmlin die Datei app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xmlund ändern Sie, was Sie benötigen.

Weitere Details zum Erstellen eines Themas finden Sie hier .
Ich habe auch ein Beispielthema gefunden, das Sie als Richtlinie verwenden können .
Sie können auch die offiziellen Beispieldaten installieren und erhalten ein Thema mit dem Namen, lumain dem Sie die Ordnerstruktur sehen können.

Marius
quelle
Danke für deine Antwort! Aber ich denke, ich muss mein schlechtes übersetzen, sorry.
Mathieu
Ich möchte das Backend-Thema (Admin-Thema) überschreiben, nicht das Frontend.
Mathieu
Das ist kein Problem. Die Schritte sind die gleichen, aber statt frontendVerwendung adminhtmlin der Ordnerstruktur. Das Prinzip ist das gleiche.
Marius
OK danke. Ich verstehe jedoch nicht, wie das neue Thema für den Administrator deklariert werden soll. Gibt es: "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

Falls jemand Probleme beim Generieren statischer Dateien für das neu erstellte Admin-Design hat. Damit magento beim Setup Dateien für das Backend-Thema generieren kann: static-content: deploy, app/design/adminhtml/<yourpackage>/<yourtheme>/web/ sollte der Ordner Dateien enthalten. Jede Dummy-Datei würde den Job erledigen.

Drevidchuck
quelle
Ich habe eine leere main.css in einem Webordner erstellt und es werden immer noch keine statischen Dateien erstellt
Scott
@Scott Hast du auch alle erforderlichen Schritte ausgeführt, die Marius in seiner Antwort vorgeschlagen hat? Und wie genau sieht der relative Pfad zu main.css bei Ihrer Gelegenheit aus?
Drevidchuck