comment_test.module in Drupal 9
Same filename and directory in other branches
Dummy module implementing comment related hooks to test API interaction with the Comment module.
File
core/modules/comment/tests/modules/comment_test/comment_test.moduleView source
<?php
/**
* @file
* Dummy module implementing comment related hooks to test API interaction with
* the Comment module.
*/
use Drupal\comment\CommentInterface;
use Drupal\Core\Url;
/**
* Implements hook_entity_type_alter().
*/
function comment_test_entity_type_alter(array &$entity_types) {
/** @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().
*/
function comment_test_comment_links_alter(array &$links, CommentInterface &$entity, array &$context) {
// 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' => t('Report'),
'url' => Url::fromRoute('comment_test.report', [
'comment' => $entity
->id(),
], [
'query' => [
'token' => \Drupal::getContainer()
->get('csrf_token')
->get("comment/{$entity->id()}/report"),
],
]),
],
],
];
}
Functions
Name | Description |
---|---|
comment_test_comment_links_alter | Implements hook_comment_links_alter(). |
comment_test_entity_type_alter | Implements hook_entity_type_alter(). |