logo

Palette - 让它色彩缤纷🎨

Palette — 可视化页面构建器,无需专业设计背景。

在线演示 下载 Palette

滚动

9.4. 为高级账户创建页面。

17/10/2025, by Ivan

在本课中,我们将扩展模块的功能,创建仅对注册用户或具有特定角色的用户可用的内容。

代码示例可以在GitHub上查看:

https://github.com/levmyshkin/drupalbook8

首先,在我们的drupalbook.permissions.yml模块文件夹中添加一个新的YML文件:

access premium pages:
  title: '访问高级页面'
  description: '您页面的自定义权限。'
  restrict access: TRUE

现在,前往访问权限页面并为所需角色设置对高级内容的访问权限,我将为注册用户设置:

/admin/people/permissions

permission

现在,在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;
}

现在,您可以清除缓存并验证我们的页面对未注册用户不可访问。

drupalbook

代码示例可以在GitHub上查看:

https://github.com/levmyshkin/drupalbook8