class CommentTestHooks

Hook implementations for comment_test.

Hierarchy

Expanded class hierarchy of CommentTestHooks

File

core/modules/comment/tests/modules/comment_test/src/Hook/CommentTestHooks.php, line 14

Namespace

Drupal\comment_test\Hook
View source
class CommentTestHooks {
  
  /**
   * Implements hook_entity_type_alter().
   */
  public function entityTypeAlter(array &$entity_types) : void {
    /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
    if (\Drupal::languageManager()->isMultilingual()) {
      // Enable language handling for comment fields.
      $translation = $entity_types['comment']->get('translation');
      $translation['comment_test'] = TRUE;
      $entity_types['comment']->set('translation', $translation);
    }
  }
  
  /**
   * Implements hook_comment_links_alter().
   */
  public function commentLinksAlter(array &$links, CommentInterface &$entity, array &$context) : void {
    // Allow tests to enable or disable this alter hook.
    if (!\Drupal::state()->get('comment_test_links_alter_enabled', FALSE)) {
      return;
    }
    $links['comment_test'] = [
      '#theme' => 'links__comment__comment_test',
      '#attributes' => [
        'class' => [
          'links',
          'inline',
        ],
      ],
      '#links' => [
        'comment-report' => [
          'title' => 'Report',
          'url' => Url::fromRoute('comment_test.report', [
            'comment' => $entity->id(),
          ], [
            'query' => [
              'token' => \Drupal::getContainer()->get('csrf_token')
                ->get("comment/{$entity->id()}/report"),
            ],
          ]),
        ],
      ],
    ];
  }

}

Members

Title Sort descending Modifiers Object type Summary
CommentTestHooks::commentLinksAlter public function Implements hook_comment_links_alter().
CommentTestHooks::entityTypeAlter public function Implements hook_entity_type_alter().

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