m2demo/module-m2-extension

此包最新版本(v2.0)没有可用的许可证信息。

基础演示扩展

安装: 52

依赖者: 0

建议者: 0

安全: 0

星标: 38

关注者: 11

分支: 7

类型:magento2-module

v2.0 2014-12-18 00:26 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:30:57 UTC


README

感谢您尝试使用Magento参考模块!我们创建它是为了帮助您尽快开始模块开发。目前它仅显示一个Magento模块列表,但您可以用来

  • 查看Magento模块的基本组件及其位置
  • 快速安装
  • 查看其工作情况

安装和验证参考模块

您可以通过以下任何一种方式安装参考模块

  1. 通过将代码复制到您的 <your Magento install dir>/app/code/<VendorName>/<ModuleName> 目录。
    此方法需要一些手动任务,但很容易。
  2. 使用 composer update

通过复制代码安装模块

任何Magento模块都需要在 <your Magento install dir>/app/code 下特定的目录结构。结构从以下开始

<VendorName>/<ModuleName>

参考模块需要以下结构

M2demo/M2Extension

将模块添加到您的Magento安装中

  1. 以具有写入Web服务器docroot权限的用户身份登录到您的Magento服务器(通常是 root 用户或Web服务器用户)。

  2. 按照以下顺序输入以下命令

     cd <your Magento install dir>/app/code
     mkdir -p M2demo/M2Extension
    
  3. 转到参考模块GitHub

  4. 点击 下载Zip

  5. 将您下载的 .zip 文件复制到您的Magento服务器的 <magento install dir>/app/code/m2demo/module-m2-extension 目录。

  6. 按照以下顺序输入以下命令

     unzip m2extension-master.zip
     mv m2extension-master/* .
     rm -rf m2extension-master
    
  7. 使用文本编辑器打开 <your Magento install dir>/app/etc/config.php

  8. 'modules' => array ( 下的任何位置添加以下内容

    'M2Demo_M2Extension' => 1
    
  9. 保存您的更改并退出文本编辑器。

使用Composer安装模块

要使用 composer update 安装任何模块,您必须修改Magento 2的 composer.json。对参考模块的更改很简单,之后它会自动安装。

要使用Composer安装模块

  1. 以具有 root 权限的用户登录到您的Magento服务器。

    注意:在Ubuntu上,您可能需要使用 sudo su 命令。

  2. 切换到您的Magento安装目录。

  3. 在文本编辑器中打开 composer.json

  4. "require": 部分添加以下行

    "m2demo/module-m2-extension": "*"
    

    注意:确保上一行以逗号字符结尾。

  5. "autoload": { "psr-4" 部分添加以下行

    "M2Demo\\": "app/code/M2Demo/"
    

    注意:确保上一行以逗号字符结尾。

  6. 保存您的更改并退出文本编辑器。

  7. 从您的Magento安装目录,按照以下顺序输入以下命令

    composer dump-autoload
    composer update
    

验证参考模块

  1. 以具有 root 权限的用户登录到您的Magento服务器。

  2. 按照以下顺序输入以下命令以清除Magento缓存

     cd <your Magento install dir>/var
     rm -rf cache page_cache
    
  3. 如果您目前登录到Magento管理后台,请注销。

  4. 以管理员身份登录到Magento管理后台。

  5. 点击 商店 > 配置 > 高级 > 高级 > 禁用模块输出

如果 m2demo_module-m2-extension 显示在字母顺序中,您已成功安装参考模块!

要在浏览器地址或位置字段中查看参考模块的工作情况,请输入以下URL

	http[s]://<your web server IP or host name>/<your Magento base dir>/demo_extension/index/sayhello

例如

	http://www.example.com/magento/demo_extension/index/sayhello

显示一个Magento模块列表。就是这样!您完成了!

组件

composer.json

根目录

为了更快速地自动加载模块中的类,必须更新根目录下的composer.json文件。在autoload->psr-4部分放置以下行

"M2Demo\\": "app/code/M2Demo/"

参考:请参阅Composer自动加载文档。

模块

为了将模块与composer集成,必须在扩展的根目录下放置一个composer.json文件。

路由

路由器接收给定的请求并确定哪个控制器和动作应该处理它。路由选项配置在"etc/****routes.xml"中(相对于扩展根目录)。

路由器

router元素的id属性确定使用哪个路由器处理此模块。

路由

route元素的id属性为路由器和模块对提供唯一名称。用于合并多个路由器的配置信息。

前缀名

module元素的frontname属性是显示在对应模块的URL中的内容。

区域

在运行时,根据用户类型和正在执行的代码类型,始终有一个或多个区域处于活动状态。此模块是为前端区域设计的。目录结构为:Extension/etc/area/routes.xml

module.xml

module.xml文件定义了模块的名称。如果模块的任何依赖项需要按特定顺序加载,此文件还可以存储该序列。

控制器

控制器类位于app/code/M2Demo/M2Extension/Controller/Index/SayHello.php。

URL

控制器可以通过URL /demo_extension/index/sayhello 访问

  • demo_extension是模块的前缀名
  • index是控制器的命名空间(与类的命名空间略有不同但相关)。
  • sayhello是动作名称。

代码

控制器类扩展了\ Magento\Framework\App\Action\Action。它实现了()方法,其中包含控制器的业务逻辑。在这种情况下,它打印出一条简短的消息和活动模块的列表。如果它需要渲染输出,输出必须进入_response对象。

响应

_response对象存储发送回客户端的信息。它是父类定义的受保护成员。

父类

父类的()方法调用(),然后将_response返回给系统,系统将其传递给客户端。