繁体   English   中英

无法在Magento 2中应用自定义主题

[英]Can't apply custom theme in Magento 2

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

非常感谢!

要使主题正常工作,请从app / design / frontend / Magento / blank复制theme.xml和媒体文件夹,并对主题进行相应更改。 希望它对您有所帮助,以启动主题。

创建主题目录

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

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

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

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

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

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

第三,在admin中应用和配置主题:-运行Upgrade Command。 -应用主题。 -部署。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM