PHPackages                             mandrills/magento2-tutorial - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mandrills/magento2-tutorial

ActiveMagento2-module

mandrills/magento2-tutorial
===========================

A simple blog module for magento 2.2.6

10PHP

Since Mar 8Pushed 7y ago1 watchersCompare

[ Source](https://github.com/mandrills/magento2-tutorial)[ Packagist](https://packagist.org/packages/mandrills/magento2-tutorial)[ RSS](/packages/mandrills-magento2-tutorial/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Magento II 博客模块教程
=================

[](#magento-ii-博客模块教程)

一个简单的 Magento II 博客模块

简介
--

[](#简介)

Magento PHP 开发者需要快速学习如何在平台上构建我们的客户商店并构建模块。这个是个简单的博客模块，将通过这个模块学习如何创建一个完整的 Magento 2 模块，后台管理和单元测试。

通过这个博客学习，你能轻松的完成以下操作：

- 创建可通过 Composer 安装的模块
- 创建控制器并了解重写系统的工作原理
- 块、布局和模板如何工作
- 创建模型并与数据库交互
- 设置后台创建、编辑和删除操作的管理界面
- 创建单元测试 （待补充）

这个模块能做什么？
---------

[](#这个模块能做什么)

最终模块将是一个非常基本的博客，你将能够通过管理员创建博客文章，包括编辑和删除他们。然后从前端你将能够查看所有博客文章的列表，并能单独查看每个文章。这些操作能够涵盖构建 Magento 扩展的所有必要元素。

1. [基本模块设置](#%E5%9F%BA%E6%9C%AC%E6%A8%A1%E5%9D%97%E8%AE%BE%E7%BD%AE)
2. [设置模型和资源模型](#%E8%AE%BE%E7%BD%AE%E6%A8%A1%E5%9E%8B%E5%92%8C%E8%B5%84%E6%BA%90%E6%A8%A1%E5%9E%8B)
3. [设置数据库和迁移](#%E8%AE%BE%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E5%92%8C%E8%BF%81%E7%A7%BB)
4. [前端控制器、块、布局和试图](#%E5%89%8D%E7%AB%AF%E6%8E%A7%E5%88%B6%E5%99%A8%E3%80%81%E5%9D%97%E3%80%81%E5%B8%83%E5%B1%80%E5%92%8C%E8%AF%95%E5%9B%BE)
5. [后台控制器、块、用户界面、布局和试图](#%E5%90%8E%E5%8F%B0%E6%8E%A7%E5%88%B6%E5%99%A8%E3%80%81%E5%9D%97%E3%80%81%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2%E3%80%81%E5%B8%83%E5%B1%80%E5%92%8C%E8%AF%95%E5%9B%BE)
6. [单元测试](#%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95)

模块创建步骤
------

[](#模块创建步骤)

### 基本模块设置

[](#基本模块设置)

设置我们模块的基本结构:

```
etc/module.xml
registration.php
composer.json

```

在根目录中，我们创建一个 `composer.json` 文件，它看起来像这样：

```
{
    "name": "mandrills/magento2-tutorial",
    "description": "A simple blog module for magento 2.2.6",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "authors": [
        {
            "name": "Andy",
            "email": ""
        }
    ],
    "require": {
        "php": "~7.1.*",
        "magento/magento-composer-installer": "*"
    },
    "extra": {
        "map": [
            [
                "*",
                "Tutorial/Blog"
            ]
        ]
    }
}

```

Comoposer文件这里不解释太多，不太了解的同学请查看它的[官方文档](https://getcomposer.org/doc/00-intro.md)。这里主要说下文件里 *type* 和 *extra* 字段。

`"type": "magento2-module"` 定义我们repo的类型为magento2模块

`"extra": { "map": [ [ "*", "Tutorial/Blog" ] ] }` 定义composer如何安装这个模块。 翻译过来就是所有文件都应该在Tutorial/Blog文件夹中，这就意味着我们的模块将被安装到`app/code/Tutorial/Blog`。

如果想了解更多有关Composer相关的文章，请访问[Alan Kent的博客](https://alankent.me/2014/08/03/creating-a-magento-2-composer-module/)。

首先你先创建etc/module.xml文件

```

```

接着我们需要在模块的根目录中创建registration.php文件，Magento中使用它来注册模块。

```
