有人尝试在 Magento 2 中安装自定义主题吗?我正在尝试在 Magento 2 中应用我的自定义主题,以便我可以开始测试,但我不知道从哪里开始。文件结构完全不同,我无法让 Magento 2 获取我的主题文件。有人可以指导我吗?,这将非常感激。
非常感谢!
要使主题正常工作,请从 app/design/frontend/Magento/blank 复制 theme.xml 和 media 文件夹,并对主题进行相关更改。希望它对您开始主题化有效。
Magento 2 主题的结构肯定是不同的。
首先,在 app/design/frontend 中创建一个新的主题目录。
其次,通过以下方式声明新主题:
第三,在管理员中应用和配置主题: - 运行升级命令。- 应用主题。- 部署。
有关更详细的教程,请转到创建 Magento 2 主题指南。
创建主题目录
要为您的 Magento 2 主题创建目录,您需要转到:/app/design/frontend。在前端目录下,根据您的主题供应商名称创建一个新目录:/app/design/frontend/themename(我选择我的主题供应商名称)在您的主题供应商目录下,为您的 Magento 2 主题创建一个目录:/app/设计/前端/主题名/m2-主题。
创建此结构后,您需要声明您的 Magento 2 主题,以便 Magento 系统知道它存在,并且您可以将您的主题设置为 Magento 2 后端中的当前主题。
声明你的 Magento 2 主题
现在您需要在 app/design/frontend/Themename/m2-theme/theme.xml 下创建 theme.xml 文件并使用以下代码:
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd"> <title>m2-theme</title> <parent>Magento/Luma</parent> <media> <preview_image>media/m2-theme-image.jpg</preview_image> </media> </theme>
在标签中插入主题的名称,在标签中您可以指定父主题以用于后备目的。我正在使用 Luma 主题。
在标签中我声明了一个主题图像。这是一个缩略图,显示在我们主题页面的 Magento 2 管理员中,因此我们可以预览我们的主题的外观。缩略图图像位于 app/design/frontend/Themename/m2-theme/media/m2-theme-image.jpg。确保此缩略图位于正确的位置。如果您在正确的位置没有此文件,当您在 Magento 2 管理员中访问您的主题页面时会收到错误消息。
使您的 Magento 2 主题成为 Composer 包
在主题目录中添加 composer.json 文件:app/design/frontend/Themename/m2-theme/composer.json 以在打包服务器上注册包。该文件在主题依赖信息中提供。Magento 默认的公共打包服务器是 https://packagist.org/。使用以下代码:
{ "name": "Themename/m2-theme", "description": "N/A", "require": { "php": "~5.5.0|~5.6.0|~7.0.0", "Themename/m2-theme": "100.0.*", "magento/framework": "100.0.*" }, "type": "magento2-theme", "version": "100.0.1", "license": [ "OSL-3.0", "AFL-3.0" ], "autoload": { "files": [ "registration.php" ] } }
添加registration.php来注册你的Magento 2主题
要在 Magento 系统中注册您的主题,您需要在您的主题目录中创建registration.php 文件:app/design/frontend/Themename/m2-theme/registration.php 并在您的registration.php 中使用以下代码:
<?php /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::THEME, 'frontend/Cloudways/m2-theme', __DIR__ );
Magento 2 中的目录结构
完成主题声明和注册后,您需要为您的主题布局、样式和模板文件创建目录结构。下面,您可以看到您的主题目录应该是什么样子。我正在使用我自己的供应商和目录名称。
/app/design/frontend/Themename/m2-theme/theme.xml
/app/design/frontend/Themename/m2-theme/registration.php
/app/design/frontend/Themename/m2-theme/composer.json
/app/design/frontend/Themename/m2-theme/media
/app/design/frontend/Themename/m2-theme/media/m2-theme-image.jpg
/app/design/frontend/Themename/m2-theme/web
/app/design/frontend/Themename/m2-theme/web/css
/app/design/frontend/Themename/m2-theme/web/css/source
/app/design/frontend/Themename/m2-theme/web/css/fonts
/app/design/frontend/Themename/m2-theme/web/css/images
/app/design/frontend/Themename/m2-theme/web/css/js
/app/design/frontend/Themename/m2-theme/etc
/app/design/frontend/Themename/m2-theme/etc/view.xml
/app/design/frontend/Themename/m2-theme/Magento_Theme
/app/design/frontend/Themename/m2-theme/Magento_Theme/layout
/app/design/frontend/Themename/m2-theme/Magento_Theme/layout/default.xml
将在我们主题的 CSS、js、字体和图像所在的位置创建 web 文件夹。如果 Magento 2 没有皮肤文件夹,这些文件会放在此处。
我们在 etc 目录下创建了 view.xml 文件,其中包含 view.xml 文件。我们配置 Magento 2 目录图像大小和其他内容。
在 Magento 2 Admin 中应用和配置主题
将您的主题添加到文件系统后,一切准备就绪,您可以激活您的主题并将其应用到您的商店。转到 Magento 2 后端,然后转到内容 > 设计 > 主题。并确保您的主题出现在此列表中。
当您可以在此列表中看到您的主题时,转到商店 > 配置 > 设计,选择您新创建的主题