function NodeAccessTestAutoBubblingController::nodeAccessCacheability

Same name and namespace in other branches
  1. 11.x core/modules/node/tests/node_access_test_auto_bubbling/src/Controller/NodeAccessTestAutoBubblingController.php \Drupal\node_access_test_auto_bubbling\Controller\NodeAccessTestAutoBubblingController::nodeAccessCacheability()

Exposes the node label when a user has access to view a node.

Parameters

\Drupal\node\NodeInterface $node: A node entity.

Return value

array A render array.

1 string reference to 'NodeAccessTestAutoBubblingController::nodeAccessCacheability'
node_access_test_auto_bubbling.routing.yml in core/modules/node/tests/node_access_test_auto_bubbling/node_access_test_auto_bubbling.routing.yml
core/modules/node/tests/node_access_test_auto_bubbling/node_access_test_auto_bubbling.routing.yml

File

core/modules/node/tests/node_access_test_auto_bubbling/src/Controller/NodeAccessTestAutoBubblingController.php, line 42

Class

NodeAccessTestAutoBubblingController
Returns a node ID listing.

Namespace

Drupal\node_access_test_auto_bubbling\Controller

Code

public function nodeAccessCacheability(NodeInterface $node) {
  $build = [];
  $cacheability = new CacheableMetadata();
  $access = $node->access('view', return_as_object: TRUE);
  $cacheability->addCacheableDependency($access);
  if ($access->isAllowed()) {
    $build[] = [
      '#markup' => $node->label(),
    ];
    $cacheability->addCacheableDependency($node);
  }
  $cacheability->applyTo($build);
  return $build;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.