昊天SEO

Drupal8模块开发入门教程(3):创建路由文件

drupal_8_routing

路由(Route)是在URL路径、相关页面和访问回调之间建立的映射。Drupal8为路由系统引入了新的机制,实现了Symfony2的路由组件和Symfony2 CMF路由组件扩展。正因如此,在Drupal8中定义路由的方法发生了变化。在Drupal7中,路由是在hook_menu()中定义的,除此之外还能让路由与菜单项、标签页、动作按钮和上下文链接产生关联。而在Drupal8中已经将这些东西全都从hook_menu()中分离开了:

  • Route -> *.routing.yml
  • Menu items -> *.menu_links.yml
  • Tabs -> *.local_tasks.yml
  • Actions -> *.local_actions.yml
  • Contextual links -> *.contextual_links.yml

在*.routing.yml中只定义路径与页面回调(控制器)的映射,以及访问权限。就如同在Drupal7中将items设定为MENU_CALLBACK那样。如果需要菜单项、标签页、动作按钮和上下文链接与路由产生关联,则需要在它们各自的系统中定义。

除了路径,新的路由系统还支持HTTP方法(如:GET、POST)、URL模式(如:http、https)和host。

此外还需注意的是:路由通过机读名识别,机读名的命名习惯是moudle_name.sub_name,路径名称必须包含前置的下划线,如:/admin/content/book。

好了,现在让我们在mymoudle模块的文件夹中创建一个名为mymodule.routing.yml的路由文件,并输入下列内容:

mymodule.page:
  path '/mypage'
  defaults:
    _content: '\Drupal\mymodule\Controller\MyController::myPage'
    _title: 'My page'
  requirements:
    _permission: 'access content'

其中mymodule.page是路由的机读名,path指定了路由的路径为/mypage,_content指定了回调(注意:_content键不可以指定函数,而应该引用类的方法),_title指定了标题,_permission指定了访问权限。

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址