You are here

public function TestHelpSection::renderTopicForSearch in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/help_topics/tests/modules/help_topics_test/src/Plugin/HelpSection/TestHelpSection.php \Drupal\help_topics_test\Plugin\HelpSection\TestHelpSection::renderTopicForSearch()

Renders one topic for search indexing or search results.

Parameters

string $topic_id: The ID of the topic to be indexed.

\Drupal\Core\Language\LanguageInterface $language: The language to render the topic in.

Return value

array An array of information about the topic, with elements:

  • title: The title of the topic in this language.
  • text: The text of the topic in this language.
  • url: The URL of the topic as a \Drupal\Core\Url object.
  • cacheable_metadata: (optional) An object to add as a cache dependency if this topic is shown in search results.

Overrides SearchableHelpInterface::renderTopicForSearch

File

core/modules/help_topics/tests/modules/help_topics_test/src/Plugin/HelpSection/TestHelpSection.php, line 44

Class

TestHelpSection
Provides a searchable help section for testing.

Namespace

Drupal\help_topics_test\Plugin\HelpSection

Code

public function renderTopicForSearch($topic_id, LanguageInterface $language) {
  switch ($topic_id) {
    case 'foo':
      if ($language
        ->getId() == 'en') {
        return [
          'title' => 'Foo in English title wcsrefsdf',
          'text' => 'Something about foo body notawordenglish sqruct',
          'url' => Url::fromUri('https://foo.com'),
        ];
      }
      return [
        'title' => 'Foomm Foreign heading',
        'text' => 'Fake foreign foo text notawordgerman asdrsad',
        'url' => Url::fromUri('https://mm.foo.com'),
      ];
    case 'bar':
      if ($language
        ->getId() == 'en') {
        return [
          'title' => 'Bar in English',
          'text' => 'Something about bar anotherwordenglish asdrsad',
          'url' => Url::fromUri('https://bar.com'),
        ];
      }
      return [
        'title' => \Drupal::state()
          ->get('help_topics_test:translated_title', 'Barmm Foreign sdeeeee'),
        'text' => 'Fake foreign barmm anotherwordgerman sqruct',
        'url' => Url::fromUri('https://mm.bar.com'),
      ];
    default:
      throw new \InvalidArgumentException('Unexpected ID encountered');
  }
}