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

时间:2013-05-22 19:50:07

标签: php magento themes

是否有人试图在Magento 2中安装自定义主题?我正在尝试在Magento 2中应用我的自定义主题,所以我可以开始测试,但我不知道从哪里开始真的。文件结构完全不同,我不能让Magento 2采取我的主题文件。 任何人都可以指导一下吗?我会非常感激。

非常感谢!

3 个答案:

答案 0 :(得分:0)

要使主题正常工作,请从app / design / frontend / Magento / blank复制theme.xml和媒体文件夹,并对主题进行相关更改。 希望它可以帮助你开始主题化。

答案 1 :(得分:0)

创建主题目录

要为Magento 2主题创建目录,您需要转到:/ app / design / frontend。在前端目录下,根据您的主题供应商名称创建一个新目录:/ app / design / frontend / themename(我选择我的themename供应商名称)在您的主题供应商目录下,为您的Magento 2主题创建一个目录:/ app /设计/前端/ THEMENAME /平方米主题。

创建此结构后,您需要声明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 admin中访问主题页时会出现错误。

让你的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

/应用/设计/前端/ THEMENAME /平方米主题/媒体

/app/design/frontend/Themename/m2-theme/media/m2-theme-image.jpg

/应用/设计/前端/ THEMENAME /平方米主题/网络

/应用/设计/前端/ THEMENAME /平方米主题/网络/ CSS

/应用/设计/前端/ THEMENAME /平方米主题/网络/ CSS /源

/应用/设计/前端/ THEMENAME /平方米主题/网络/ CSS /字体

/应用/设计/前端/ THEMENAME /平方米主题/网络/ CSS /图像

/应用/设计/前端/ THEMENAME /平方米主题/网络/ CSS / JS

/应用/设计/前端/ THEMENAME /平方米主题/等

/app/design/frontend/Themename/m2-theme/etc/view.xml

/应用/设计/前端/ THEMENAME /平方米主题/ Magento_Theme

/应用/设计/前端/ THEMENAME /平方米主题/ Magento_Theme /布局

/app/design/frontend/Themename/m2-theme/Magento_Theme/layout/default.xml

将创建我们主题的CSS,js,字体和图像所在的Web文件夹。如果Magento 2没有皮肤文件夹,这些文件就在这里。

我们使用view.xml文件在etc目录下创建了view.xml文件。我们配置Magento 2目录图像大小和其他东西。

在Magento 2 Admin中应用和配置主题

将主题添加到文件系统后,您就可以激活所有主题并将其应用到商店。转到Magento 2后端,然后转到Content&gt;设计&gt;主题。并确保您的主题显示在此列表中。

当您在此列表中看到自己的主题时,请转到商店&gt;配置&gt;设计,选择新创建的主题

答案 2 :(得分:0)

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

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

第二,通过以下方式声明新主题:

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

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

有关详细的教程,请转到Guide to create Magento 2 theme