在drupal中,定义路由常用的方法是在每个模块下创建路由文件:模块名.routing.yml;每个路由都有一个当前唯一名称,格式是:模块名.路由名称,比如:user.user_list。
- path:路由的第一个参数通常是path,也是必须的参数,就是浏览器中域名之后的那部分。一般格式是:/xxx/xxx…,除了第一个xxx必须是字符串,后面的可以是参数,参数要使用{}括起来。比如:/user/list,/user/{uid};uid就是参数名,在浏览器地址看到的是参数值,使用uid来获取参数值。
-
default:第二个参数是default,默认属性,也是必须的参数,
- _controller:主要是通过他来映射路由对应的方法。值得格式为:‘Class::method’,比如:’\Drupal\模块名\Controller\类名::方法名’
- _from:如果路由指向的是表单,在不需要准备其他数据时可以直接通过该参数映射到form页面,需要在表单之前准备其他数据或操作的就可以通过上一个_controller来映射。
- methods:指定请求的方法,在方括号中用,分隔。比如:[GET, POST, HEAD]
-
requirements:必须的参数,必须满足指定的参数才能访问。主要是权限控制
- _permission :指定多个权限,用’,’(逗号)(例如,)表示 AND 逻辑或用 ‘+’(加号)表示 OR 逻辑。
- _role:设置指定角色才能访问。
- _access:设置为’TRUE’(使用单引号和大写字母)以在所有情况下授予此路由的访问权限。
- _user_is_logged_in:布尔值。用于要求身份验证,或要求对路由进行未经身份验证的访问。
以上是我最近工作中常用的一些设置,更多的设置可以参考:
官方文档:https://www.drupal.org/docs/drupal-apis/routing-system/structure-of-routes
中文文档:http://drupalchina.cn/node/3334