滚动
9.4. 为高级账户创建页面。
在本课中,我们将扩展模块的功能,创建仅对注册用户或具有特定角色的用户可用的内容。
代码示例可以在GitHub上查看:
https://github.com/levmyshkin/drupalbook8
首先,在我们的drupalbook.permissions.yml模块文件夹中添加一个新的YML文件:
access premium pages:
title: '访问高级页面'
description: '您页面的自定义权限。'
restrict access: TRUE
现在,前往访问权限页面并为所需角色设置对高级内容的访问权限,我将为注册用户设置:
/admin/people/permissions
现在,在drupalbook.routing.yml中创建一个新路由,在其中指明我们的新权限和一个用于显示内容的新方法:
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: '私有内容'
requirements:
_permission: '访问高级页面'
添加新路由后,需要清除缓存。
我们还需要将privateContent()方法添加到我们的FirstPageController类中:
/**
* 返回一个私有页面。
*
* @return array
* 一个简单的可渲染数组。
*/
public function privateContent() {
$element = array(
'#markup' => '私有内容',
);
return $element;
}
现在,您可以清除缓存并验证我们的页面对未注册用户不可访问。
代码示例可以在GitHub上查看: