supravatm / magento-2-sample-helloworld-extension
Magento 2 Helloworld 扩展
Requires
- php: ~5.5.0|~5.6.0|~7.0.0
This package is not auto-updated.
Last update: 2024-09-29 03:36:28 UTC
README
此扩展包含一个新页面,可以通过以下url访问
<magento2-url>/newpage
动机
演示如何在Magento中创建自定义页面。
技术特性
路由
应用区域
在Magento中,与视图相关的文件基于“应用区域”。例如,如果用户正在浏览“前端”区域(例如,客户购买产品),则无法加载“管理”区域的页面。视图文件夹包含以应用区域命名的子目录,其中包含仅与该区域相关的文件。此扩展仅在前端放置内容,因此它只有一个“前端”目录。
布局文件
路由配置文件将frontname "newpage"映射到此扩展,因此应用程序在扩展中查找描述页面的布局文件。
使用三个路由参数来确定必须加载哪个布局文件。
url的一般形式是 <magento2-url>/<extension>/<action path>/<action name>/
。
因为页面是在 <magento2-url>/helloworld
访问的,所以路由参数是
- extension: "newpage"
- action path: "index"
- action name: "index"
当未显式提供时,默认提供index值。
因此,应用程序在 <extension-root>/view/frontend/layout
中查找名为 helloworld_index_index.xml
的文件。
布局、块、模板
布局文件定义了两件事:标题(在head/title元素中)和用于填充页面的块类。
对于复杂的扩展,可以有自定义或专业化的块类,但这里我们使用最基础的块类,Magento\Framework\View\Element\Template,来处理纯html内容。
块的模板精确地定义了该内容是什么。布局文件定义了包含模板的模块及其名称。基于此,应用程序将在 <extension-root>/view/frontend/templates
中查找 helloworld.phtml
。块使用其 toHtml()
方法处理模板文件并生成输出html。
安装
此模块旨在通过composer安装。
在composer将代码打包后,通过将其添加到 配置 中启用了模块或,如果该文件不存在,则安装Magento。在包含此组件并启用它之后,您可以通过访问后端来验证它是否已安装
STORES -> 配置 -> 高级/高级 -> 禁用模块输出
一旦进入,请检查模块名称是否出现在列表中,以确认它已正确安装。
测试
单元测试位于 Test/Unit 目录。
贡献者
Magento 核心团队