Magento 2: Como substituir a Página Inicial do Tema Luma

9

Estou usando o Magento 2 CE versão 2.1.0 no WAMP Windows 10

Eu já me referi

Magento 2: Como substituir o arquivo html do modelo padrão do mini-carrinho?

Gostaria de substituir o Magento 2 Default Luma Theme

Eu tenho a estrutura de pastas abaixo

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>

Eu corro php bin/magento setup:static-content:deploye limpo o cache também. Ele não está exibindo meu tema recém-criado no Admin -> Content -> Design -> Configuration. Editar lista suspensa.

O que ainda estou sentindo falta?

Ankit Shah
fonte

Respostas:

6

Ao criar qualquer novo tema ou módulo, você precisa definir o arquivo registration.php na raiz da pasta do seu módulo ou tema.

Sempre use o nome do tema em letras minúsculas, porque o Magento usou esse padrão para a declaração do nome do tema.

Você não tem nenhum problema para manter o nome do tema em camelcase, mas o uso padrão é muito apreciado.

Você precisa definir o arquivo registration.php dentro da pasta Magento_Theme, que está no lugar errado.

O diagrama correto da estrutura do tema estará abaixo,

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

O seu caminho para registration.php é app\design\frontend\Custom\theme\registration.php

arquivo registration.php :

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

o caminho do arquivo theme.xml será,

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

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

Depois que toda a configuração estiver concluída, não se esqueça de executar o comando deploy do tema,

php bin/magento setup:static-content:deploy

Verifique dentro do seu painel de administração, Content -> Design -> Configurationpara definir seu tema personalizado.

Remova o cache e verifique no frontend.

Rakesh Jesadiya
fonte
Bijal Usean e SH Patel. Aceitando a resposta de @Rakesh porque anteriormente eu estou discutindo com ele sobre esse assunto.
Ankit Shah
Está dando erro ao salvar do 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. Tão incapaz de salvar e ativar o novo tema
Ankit Shah 28/16
Por favor, execute o comando upgrade, comando deploy em seguida, executar, pasta remove var da raiz e verificar
Rakesh Jesadiya
Não. Ainda questão
Ankit Shah
1

Se você colocar theme.xml e registration.php no lugar errado, o local real será

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: coloque preview.jpg emapp/design/frontend/<vendor>/<theme>/media/preview.jpg

esses dois arquivos o suficiente para obter sua lista de temas no Admin e, em seguida, aplique seu tema.

Se você deseja substituir modelos luma, por exemplo app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtml, pode fazer as alterações desse modelo emapp/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml

Bilal Usean
fonte
Está dando erro ao salvar a partir do 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.Incapaz de salvar e ativar o novo tema
Ankit Shah
parece que há problemas de permissão de arquivo, verifique se você definiu a permissão correta conforme o padrão magento.
Bilal Usean
Como mencionado na perguntaI'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
Ankit Shah
verifique seu usuário de acesso ao diretório raiz magento e seu grupo de usuários, ele deve ser o usuário do servidor web e seu grupo, bem como verificar a permissão de leitura / gravação desse diretório. Consulte este link para obter mais idéias devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
Bilal
1

Caminho incorreto que você usou.

Siga as instruções abaixo para criar um novo tema personalizado.

Crie o arquivo theme.xml/app/design/frontend/Custom/Theme/theme.xml com o código abaixo.

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

Crie o arquivo registration.php app/design/frontend/Custom/Theme/registration.phpcom o código abaixo.

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

copiar preview.jpg de

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

adicionar à

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

Agora você pode ver seu tema personalizado em admin, selecione tema personalizado em admin e salve-o.

Suresh Chikani
fonte
Está dando erro ao salvar do 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.Portanto, não é possível salvar e ativar o novo tema
Ankit Shah
Tema Luma salvar o trabalho corretamente?
Suresh Chikani 28/09