Drupal8开发教程:模块开发——创建新页面
来源:互联网 发布:js正则密码区分大小写 编辑:程序博客网 时间:2024/05/19 21:40
之前我们已经通过《Drupal8开发教程:认识.info.yml文件》对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面。
在 Drupal 7 中,通过模块添加新页面非常简单,使用 hook_menu 定义路径及回调函数返回要显示的结果即可。但 Drupal 8 却要麻烦很多,虽然也是定义路径,然后关联用于显示内容的函数,但却要在两个文件中分开进行。而且 Controller 文件还有目录结构要求,这些变化都需要慢慢来适应了。
除了上文中定义的 hello_world.info.yml 文件外,还需要向模块目录下添加 hello_world.routing.yml 及 src/Controller/HelloWorldController.php 两个文件。
hello_world.routing.yml 文件用来定义需要添加的路径、页面标题、回调函数及相关权限,作用与之前 Drupal 版本中的 hook_menu() 作用相同。
以下是 hello_world.routing.yml 文件的内容,每个关键词语义都很清楚,就不多解释了:
hello_world.content: path: '/hello' defaults: _controller: '\Drupal\hello_world\Controller\HelloWorldController::content' _title: 'Hello World' requirements: _permission: 'access content'
上述代码中使用的 controller 还没有定义,接下来便再添加 HelloWorldController.php 文件,需要注意其完整的目录结构为 src/Controller/HelloWorldController.php
<?php/** * @file * Contains \Drupal\hello_world\Controller\HelloWorldController. */ namespace Drupal\hello_world\Controller;use Drupal\Core\Controller\ControllerBase;class HelloWorldController extends ControllerBase { public function content() { return array( '#type' => 'markup', '#markup' => $this->t('Hello, World!') ); }}
当完成 hello_world.info.yml, hello_world.routing.yml 和 HelloWorldController.php 三个文件后,进入到模块管理页面,启用 Hello World 模块后,便可以通过访问 /hello 路径访问新添加的 Hello World 页面了。如果在之前已经启用了模块,记得清空一下缓存。
原文标题:Drupal8开发教程:模块开发——创建新页面
原文地址:http://drupalct.org/drupal-development/add-new-page-with-module-development.html
- Drupal8开发教程:模块开发——创建新页面
- Drupal8开发教程:认识.info.yml文件
- Drupal8开发教程:认识.info.yml文件
- 创建新页面
- 前端学习笔记一:关于一个新页面的开发
- Magento模块开发教程
- Xpoded 模块开发教程
- Nginx 模块开发教程
- Xpoded模块开发教程
- Xposed模块开发教程
- Magento 新闻模块开发教程 (一) 创建骨架目录
- Magento 新闻模块开发教程 (三) 创建前后端控制器
- Magento 新闻模块开发教程 (五) 创建辅助类
- Magento 新闻模块开发教程 (六) 创建模型
- Drupal—关于Drupal8的详细安装建站教程
- 点击控件动态创建新页面
- Magento 新闻模块开发教程 (四) 创建模块的xml配置文件
- React Native iOS原生模块开发实战|教程|心得|如何创建React Native iOS原生模块
- js 字符串
- 如何让主界面NavigationBar隐藏,而push到的下一个界面显示NavigationBar?
- android 使用内容提供者获取手机联系人
- 1042: [HAOI2008]硬币购物 DP+容斥原理
- oracle中常用函数WM_CONCAT(行转列)
- Drupal8开发教程:模块开发——创建新页面
- 一个Label上面显示两种不的字体
- 【BZOJ4407】于神之怒加强版
- 关于苹果开发证书失效的解决方案(2016年2月14日Failed to locate or generate matching signing assets)
- 使用 Spring Boot 快速构建 Spring 框架应用
- Ubuntu环境下安装Open JDK
- 循环赛日程表
- asp.net- ajax简单入门使用方法,通过一般处理程序ashx进行处理
- Spring Boot——2分钟构建spring web mvc REST风格HelloWorld