如何在magento 2稳定版中创建主题?


10

如何在magento 2稳定版中创建主题?

有适用于Beta的教程,但不稳定。

我采取的步骤如下:

app / design / frontend / Themevendorname / Themename /中创建的文件夹,该文件夹创建了theme.xmlcomposer.json

但是当我去stores->configuration->General->Design那个设计主题下拉菜单中的管理员时........没有显示新主题。

这是composer.json的行

{
    "name": "themevendorname/theme-frontend-themename",
    "description": "N/A",
    "require": {
        "php": "~5.4.11|~5.5.0",
        "magento/framework": "0.1.0-alpha107",
        "magento/magento-composer-installer": "*"
    },
    "type": "magento2-theme",
    "version": "0.1.0-alpha107",
    "extra": {
        "map": [
            [
                "*",
                "frontend/themevendorname/themename"
            ]
        ]
    }
}

请检查附件中的图像。另一件事是,我还在vendor-> magento文件夹中创建了一个名为theme-frontend-themename的文件夹,并将相同的文件夹也放在此处,但仍未在管理存储->配置->常规->该设计主题中获得该主题。落下。

任何帮助请。

在此处输入图片说明

Answers:


6

Magento2稳定版中的任何模块,主题或语言,都需要registration.php在包含模块/主题/语言的目录中创建一个文件。作曲家的自动加载它加载所有文件registration.phpMagento2运行前。

一个registration.php主题在以下文件app/design/<area>/<Vendor>/<theme_name>/

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
  \Magento\Framework\Component\ComponentRegistrar::THEME,
'<area>/<VendorName>/<theme_name>',  
__DIR__
);

1
非常感谢Bill ...让我迅速检查一下,并将再次回来:)再次感谢:)
KA9 2015年

嗨,比尔,您能告诉我模块文件夹的确切位置吗,因为有许多可用的模块文件夹。
KA9 2015年

3
您需要在app/design/<area>/<Vendor>/<theme_name>/
Thao Pham中

1
我无法为您解释这个问题,但我认为在版本稳定的情况下,Magento希望在其中加入核心文件,vendor/magento/*而在Magento即将上市之后,他们希望通过vendor目录下的作曲家安装,更新所有核心文件,第三方。
邵潘

1
嗨,我们建议您使用app / code或app / design开发,如果您将其克隆,则这是Magento 2 GitHub的组织方式。您registration.php告诉您vendor何时有人部署该组件。
史蒂夫·约翰逊

0

您可以使用此链接:

http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html

-从现有theme.xml添加或复制到主题目录app / design / frontend //

-使用以下示例进行配置:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
 <title>New theme</title> <!-- your theme's name -->
 <parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
 <media>
     <preview_image>media/preview.jpg</preview_image> <!-- the path to your theme's preview image -->
 </media>

-添加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/<Vendor>/<theme>',
    __DIR__
);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.