Magento 2: So überschreiben Sie die Luma Theme Home Page


9

Ich verwende Magento 2 CE Version 2.1.0 unter WAMP Windows 10

Ich habe bereits verwiesen

Magento 2: Wie überschreibe ich die HTML-Datei der Mini-Cart-Standardvorlage?

Möchte Magento 2 Default Luma Theme überschreiben

Ich habe unten Ordnerstruktur

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_Theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
                registration.php
                theme.xml

app \ design \ frontend \ Custom \ Theme \ Magento_Theme \ registration.php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Custom/Theme',
    __DIR__
);

app \ design \ frontend \ Custom \ Theme \ Magento_Theme \ theme.xml

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

Ich starte php bin/magento setup:static-content:deployund lösche auch den Cache. Mein neu erstelltes Thema wird nicht angezeigt Admin -> Content -> Design -> Configuration. Dropdown-Liste bearbeiten.

Was fehlt mir noch?


Antworten:


6

Wenn Sie ein neues Thema oder Modul erstellen, müssen Sie die Datei register.php im Stammverzeichnis Ihres Modul- oder Themenordners definieren.

Verwenden Sie den Themennamen immer in Kleinbuchstaben, da Magento diesen Standard für die Deklaration von Themennamen verwendet.

Sie haben kein Problem damit, den Themennamen im Kamelkoffer zu behalten, aber die Standardmethode wird sehr geschätzt.

Sie müssen die Datei register.php im Ordner Magento_Theme definieren, der sich an der falschen Stelle befindet.

Das korrekte Diagramm der Themenstruktur finden Sie unten.

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
              |_registration.php
              |_theme.xml

Ihr Pfad für die Registrierung.php lautet app\design\frontend\Custom\theme\registration.php

Registrierung.php Datei:

<?php
   \Magento\Framework\Component\ComponentRegistrar::register(
     \Magento\Framework\Component\ComponentRegistrar::THEME,
      'frontend/Custom/theme',
      __DIR__
);

Ihr theme.xml-Dateipfad lautet:

app\design\frontend\Custom\theme\theme.xml

theme.xml Datei:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
   <title>Custom Theme</title>
   <parent>Magento/luma</parent>
   <media>
      <preview_image>media/preview.jpg</preview_image>
   </media>
</theme>

Vergessen Sie nach Abschluss aller Einstellungen nicht, den Bereitstellungsbefehl für das Design auszuführen.

php bin/magento setup:static-content:deploy

Überprüfen Sie in Ihrem Admin-Bereich, Content -> Design -> Configurationob Sie Ihr benutzerdefiniertes Thema festlegen möchten.

Entfernen Sie den Cache und checken Sie das Frontend ein.


Bijal Usean & SH Patel. Ich akzeptiere die Antwort von @Rakesh, weil ich zuvor mit ihm über dieses Thema gesprochen habe.
Ankit Shah

Es gibt Fehler beim Speichern von Admin Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory. Also nicht in der Lage, neues Thema zu speichern und zu aktivieren
Ankit Shah

Bitte führen Sie den Upgrade-Befehl aus, führen Sie dann den Deployment-Befehl aus, entfernen Sie den var-Ordner aus dem Stammverzeichnis und überprüfen Sie
Rakesh Jesadiya

Nee. Noch Ausgabe
Ankit Shah


1

Sie legen theme.xml und registration.php in falscher Stelle, die tatsächliche Lage ist

app/design/frontend/<vendor>/<theme>/registration.php

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/<vendor>/<theme>',
    __DIR__
);

app/design/frontend/<vendor>/<theme>/theme.xml

<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Vendor Theme</title>
    <parent>Magento/luma</parent>
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

Hinweis: Platzieren Sie Vorschau.jpg inapp/design/frontend/<vendor>/<theme>/media/preview.jpg

Diese beiden Dateien reichen aus, um Ihre Themenliste in Admin abzurufen und dann Ihr Thema anzuwenden.

Wenn Sie beispielsweise Luma-Vorlagen überschreiben möchten app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtml, können Sie die Änderungen an dieser Vorlage in vornehmenapp/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml


Es gibt Fehler beim Speichern von Admin Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.Also nicht in der Lage, neues Thema zu speichern und zu aktivieren
Ankit Shah

Es scheint, als ob es Probleme mit der Dateiberechtigung gibt. Haben Sie überprüft, ob Sie die richtige Berechtigung gemäß Magento-Standard festgelegt haben?
Bilal Usean

Wie in Frage erwähntI'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
Ankit Shah


Bitte überprüfen Sie Ihren Magento-Stammverzeichniszugriffsbenutzer und seine Benutzergruppe. Dies sollte der Webserverbenutzer und seine Gruppe sein. Überprüfen Sie auch die Lese- / Schreibberechtigung dieses Verzeichnisses. Unter diesem Link finden Sie weitere Informationen zu devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
Bilal Usean

1

Falscher Pfad, den Sie verwendet haben.

Befolgen Sie die nachstehenden Anweisungen, um ein neues benutzerdefiniertes Thema zu erstellen.

Erstellen Sie die Datei theme.xml/app/design/frontend/Custom/Theme/theme.xml mit dem folgenden Code.

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Custom Theme</title>
    <parent>Magento/luma</parent>
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

Erstellen Sie die Datei register.php app/design/frontend/Custom/Theme/registration.phpmit dem folgenden Code.

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Custom/theme',
    __DIR__
);

Kopieren Sie die Vorschau.jpg von

vendor/magento/theme-frontend-luma/media/preview.jpg 

hinzufügen

app/design/frontend/Custom/Theme/media/preview.jpg

Jetzt können Sie Ihr benutzerdefiniertes Thema in admin anzeigen, ein benutzerdefiniertes Thema von admin auswählen und speichern.


Es gibt Fehler beim Speichern von Admin Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.Also nicht in der Lage, neues Thema zu speichern und zu aktivieren
Ankit Shah

Luma Thema Arbeit richtig speichern?
Suresh Chikani

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.