Magento 2: Cómo anular la página de inicio del tema Luma

9

Estoy usando Magento 2 CE versión 2.1.0 en WAMP Windows 10

Ya me referi

Magento 2: ¿Cómo anular el archivo html de la plantilla predeterminada del minicarro?

Me gustaría reemplazar Magento 2 Default Luma Theme

Tengo debajo de la estructura de carpetas

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>

Corro php bin/magento setup:static-content:deployy borro el caché también. No muestra mi tema recién creado en Admin -> Content -> Design -> Configuration. Editar lista desplegable.

¿Qué me falta todavía?

Ankit Shah
fuente

Respuestas:

6

Al crear un nuevo tema o módulo, debe definir el archivo Registration.php en la raíz de su módulo o carpeta de temas.

Siempre use el nombre del tema en minúsculas, porque Magento usó este estándar para la declaración del nombre del tema.

No tiene ningún problema para mantener el nombre del tema en camelcase, pero su uso estándar es muy apreciado.

Tiene que definir el archivo Registration.php dentro de la carpeta Magento_Theme, está en el lugar equivocado

El diagrama correcto de la estructura del tema estará debajo,

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

Su ruta para el registro.php es app\design\frontend\Custom\theme\registration.php

registro.php archivo:

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

su ruta de archivo theme.xml será,

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

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

Después de completar toda la configuración, no olvide ejecutar el comando de implementación para el tema,

php bin/magento setup:static-content:deploy

Verifique dentro de su panel de administración, Content -> Design -> Configurationpara configurar su tema personalizado.

Elimine el caché y verifique la interfaz.

Rakesh Jesadiya
fuente
Bijal Usean y SH Patel. Aceptando la respuesta de @Rakesh porque anteriormente estoy discutiendo con él sobre este tema.
Ankit Shah
Da error al guardar desde el administrador 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. No puedo guardar y habilitar un nuevo tema
Ankit Shah
ejecute el comando de actualización, luego ejecute el comando de implementación, elimine la carpeta var de la raíz y verifique
Rakesh Jesadiya
No Aún no publicado
Ankit Shah
1

si coloca theme.xml y registration.php en el lugar incorrecto, la ubicación real es

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

estos dos archivos son suficientes para obtener su lista de temas en Admin, luego aplique su tema.

Si desea anular las plantillas de luma, por ejemplo app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtml, puede hacer los cambios de esa plantilla enapp/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml

Bilal Usean
fuente
Está dando un error al guardar desde el administrador 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.Así que no puedo guardar y habilitar un nuevo tema
Ankit Shah
parece que hay problemas de permisos de archivos, haga que compruebe si establece los permisos correctos según el estándar magento.
Bilal Usean
Como se mencionó en la preguntaI'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
Ankit Shah
verifique su usuario de acceso al directorio raíz de magento y su grupo de usuarios, debe ser el usuario del servidor web y su grupo, así como también verifique el permiso de lectura / escritura de ese directorio. consulte estos dos enlaces para obtener más ideas devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
Bilal Usean
1

Ruta incorrecta que ha utilizado.

Siga las instrucciones a continuación para crear un nuevo tema personalizado.

Cree el archivo theme.xml/app/design/frontend/Custom/Theme/theme.xml con el siguiente código.

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

Cree el archivo Registration.php app/design/frontend/Custom/Theme/registration.phpcon el siguiente código.

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

copia preview.jpg de

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

añadir

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

Ahora puede ver su tema personalizado en admin, seleccione un tema personalizado de admin y guárdelo.

Suresh Chikani
fuente
Está dando un error al guardar desde el administrador 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.Así que no puedo guardar y habilitar un nuevo tema
Ankit Shah
¿El tema de Luma guarda el trabajo correctamente?
Suresh Chikani