Magento 2: Come sovrascrivere la Home Page del tema Luma


9

Sto usando Magento 2 CE versione 2.1.0 su WAMP Windows 10

Ho già fatto riferimento

Magento 2: Come sovrascrivere il file html del modello predefinito mini-cart?

Vorrebbe sovrascrivere il tema Luma predefinito di Magento 2

Ho sotto la struttura delle cartelle

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

app \ progettazione \ frontend \ Custom \ Tema \ Magento_Theme \ registration.php

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

app \ progettazione \ frontend \ Custom \ Tema \ 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>

Corro php bin/magento setup:static-content:deploye svuoto anche la cache. Non mostra il mio tema appena creato in Admin -> Content -> Design -> Configuration. Modifica elenco a discesa.

Cosa mi manca ancora?


Risposte:


6

Quando crei un nuovo tema o modulo devi definire il file registration.php alla radice del tuo modulo o cartella del tema.

Usa sempre il nome del tema in minuscolo, perché Magento ha usato questo standard per la dichiarazione del nome del tema.

Non hai alcun problema a mantenere il nome del tema in camelcase ma usare il modo standard è molto apprezzato.

Devi definire il file registration.php nella cartella Magento_Theme, è nella posizione sbagliata.

Il diagramma corretto della struttura del tema sarà di seguito,

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

Il tuo percorso per registration.php è app\design\frontend\Custom\theme\registration.php

file registration.php :

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

il percorso del tuo file theme.xml sarà,

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

file theme.xml :

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

Al termine dell'installazione, non dimenticare di eseguire il comando deploy per il tema,

php bin/magento setup:static-content:deploy

Controlla all'interno del pannello di amministrazione, Content -> Design -> Configurationper impostare il tema personalizzato.

Rimuovi la cache e controlla nel frontend.


Bijal Usean & SH Patel. Accettare la risposta di @Rakesh perché in precedenza sono in discussione con lui su questo problema.
Ankit Shah,

Dà errore durante il salvataggio dall'amministratore 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. Quindi impossibile salvare e abilitare il nuovo tema
Ankit Shah,

eseguire il comando di aggiornamento, quindi eseguire il comando deploy, rimuovere la cartella var dalla radice e controllare
Rakesh Jesadiya,

No. Still Issue
Ankit Shah,


1

metti theme.xml e registration.php nel posto sbagliato, la posizione reale è

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>

nota: posizionare preview.jpg inapp/design/frontend/<vendor>/<theme>/media/preview.jpg

questi due file sono sufficienti per ottenere l'elenco dei temi in Admin, quindi applicare il tema.

Se ad esempio app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtmldesideri sovrascrivere i modelli di luminanza , puoi apportare le modifiche a quel modelloapp/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml


Dà errore durante il salvataggio dall'amministratore. 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.Quindi impossibile salvare e abilitare il nuovo tema
Ankit Shah,

sembra che si verifichino problemi con i permessi dei file, hai controllato se hai impostato i permessi giusti secondo lo standard magento.
Bilal Usean,

Come menzionato nella domandaI'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
Ankit Shah,


controlla l'utente di accesso alla directory principale di magento e il suo gruppo di utenti, dovrebbe essere l'utente del server web e il loro gruppo, nonché controllare l'autorizzazione di lettura / scrittura di quella directory. fare riferimento a questi due link per avere più idee devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
Bilal Usean

1

Percorso errato che hai utilizzato.

Segui le istruzioni seguenti per creare un nuovo tema personalizzato.

Crea il file theme.xml/app/design/frontend/Custom/Theme/theme.xml con il codice seguente.

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

Crea il file registration.php app/design/frontend/Custom/Theme/registration.phpcon il codice qui sotto.

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

copia preview.jpg da

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

aggiungere a

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

Ora puoi vedere il tuo tema personalizzato in admin, selezionare il tema personalizzato da admin e salvarlo.


Sta dando errore durante il salvataggio dall'amministratore 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.Quindi impossibile salvare e abilitare il nuovo tema
Ankit Shah,

Il tema Luma salva funziona correttamente?
Suresh Chikani,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.