You are here

class TestHelpSection 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

Provides a searchable help section for testing.

Plugin annotation


@HelpSection(
  id = "help_topics_test",
  title = @Translation("Test section"),
  weight = 100,
  description = @Translation("For testing search"),
  permission = "access test help"
)

Hierarchy

Expanded class hierarchy of TestHelpSection

File

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

Namespace

Drupal\help_topics_test\Plugin\HelpSection
View source
class TestHelpSection extends HelpSectionPluginBase implements SearchableHelpInterface {

  /**
   * {@inheritdoc}
   */
  public function listTopics() {
    return [
      Link::fromTextAndUrl('Foo', Url::fromUri('https://foo.com')),
      Link::fromTextAndUrl('Bar', Url::fromUri('https://bar.com')),
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function listSearchableTopics() {
    return [
      'foo',
      'bar',
    ];
  }

  /**
   * {@inheritdoc}
   */
  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');
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
HelpSectionPluginBase::getDescription public function Returns the description text for the help section. Overrides HelpSectionPluginInterface::getDescription
HelpSectionPluginBase::getTitle public function Returns the title of the help section. Overrides HelpSectionPluginInterface::getTitle
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 2
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 98
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TestHelpSection::listSearchableTopics public function Returns the IDs of topics that should be indexed for searching. Overrides SearchableHelpInterface::listSearchableTopics
TestHelpSection::listTopics public function Returns a list of topics to show in the help section. Overrides HelpSectionPluginInterface::listTopics
TestHelpSection::renderTopicForSearch public function Renders one topic for search indexing or search results. Overrides SearchableHelpInterface::renderTopicForSearch
UnchangingCacheableDependencyTrait::getCacheContexts public function 1
UnchangingCacheableDependencyTrait::getCacheMaxAge public function 3
UnchangingCacheableDependencyTrait::getCacheTags public function 1