1

有人尝试在 Magento 2 中安装自定义主题吗?我正在尝试在 Magento 2 中应用我的自定义主题,以便我可以开始测试,但我不知道从哪里开始。文件结构完全不同,我无法让 Magento 2 获取我的主题文件。有人可以指导我吗?,这将非常感激。

非常感谢!

4

3 回答 3

0

要使主题正常工作,请从 app/design/frontend/Magento/blank 复制 theme.xml 和 media 文件夹,并对主题进行相关更改。希望它对您开始主题化有效。

于 2015-01-09T08:36:04.200 回答
0

Magento 2 主题的结构肯定是不同的。

首先,在 app/design/frontend 中创建一个新的主题目录。

其次,通过以下方式声明新主题:

  • 创建主题.xml:该文件标识新主题的名称、父级和其他基本信息。
  • 创建 Composer.json:此文件用于稍后通过 Composer 安装主题。
  • 创建registration.php:任何Magento 2 扩展和主题都需要这个文件。
  • 创建静态文件目录:该文件夹用于存放CSS、JS、图片文件。
  • 创建徽标文件夹:此文件夹包含确定新主题徽标的位置和大小的文件。

第三,在管理员中应用和配置主题: - 运行升级命令。- 应用主题。- 部署。

有关更详细的教程,请转到创建 Magento 2 主题指南

于 2018-07-24T08:24:23.600 回答
0

创建主题目录

要为您的 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 后端,然后转到内容 > 设计 > 主题。并确保您的主题出现在此列表中。

当您可以在此列表中看到您的主题时,转到商店 > 配置 > 设计,选择您新创建的主题

于 2018-01-07T17:29:27.303 回答