在 Magento2 稳定版中创建新模块?

Create new module in Magento2 stable version?

随着Magento2稳定版发布,我们应该如何创建新模块?在 Magento2 稳定版中创建新模块所需的确切步骤是什么?有什么方法可以将 Magento2 Beta 模块转换为稳定版模块吗?

期待听到您的想法。

我不会给你一步一步的指导,这不是回答问题的地方。

最近最显着的变化是在模块路由中需要 registration.php 和 composer.json

例如

https://github.com/magento/magento2/blob/develop/app/code/Magento/AdminNotification/composer.json

https://github.com/magento/magento2/blob/develop/app/code/Magento/AdminNotification/registration.php

我会直接基于你的核心模块,这是最简单的方法。

我终于找到了在稳定的Magento2版本中创建新模块的成功方法:

下面是创建新模块需要创建的文件列表,我的包名称是 Ktpl,模块名称是 Brandmanager 对于这种情况。

1) 在 app/code/Ktpl/Brandmanager/etc/module.xml

创建 module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Ktpl_Brandmanager" setup_version="2.0.0">
    </module>
</config>

2) 在 app/code/Ktpl/Brandmanager/composer.json

创建 composer.json
{
  "name": "ktpl/brandmanager",
  "description": "Brand manager adds the facility to manage store brands in Magento2",
  "require": {
    "php": "~5.5.0|~5.6.0|~7.0.0",
    "magento/module-store": "*",
    "magento/module-backend": "*",
    "magento/framework": "*"
  },
  "type": "magento2-module",
  "license": "GPL-3.0",
  "authors": [
    {
      "name": "KTPL",
      "email": "chirag.bhavsar@krishtechnolabs.com"
    }
  ],
  "autoload": {
    "files": [
      "registration.php"
    ],
    "psr-4": {
      "Ktpl\Brandmanager\": ""
    }
  }
}

3) 在 app/code/Ktpl/Brandmanager/registration.php

创建 registration.php 文件
<?php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Ktpl_Brandmanager',
    __DIR__
);

将这些文件 运行 放在 Magento 根目录下的命令之后。

sudo php -f bin/magento setup:upgrade
sudo rm -rf var/cache/*
sudo rm -rf var/page_cache/*
sudo rm -rf var/generation/*

此过程将成功注册您的模块,您将能够在商店 -> 配置 -> 高级 -> 高级部分看到你的模块。