class TestHelpSection

Same name and namespace in other branches
  1. 9 core/modules/help_topics/tests/modules/help_topics_test/src/Plugin/HelpSection/TestHelpSection.php \Drupal\help_topics_test\Plugin\HelpSection\TestHelpSection
  2. 10 core/modules/help/tests/modules/help_topics_test/src/Plugin/HelpSection/TestHelpSection.php \Drupal\help_topics_test\Plugin\HelpSection\TestHelpSection
  3. 11.x core/modules/help/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

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
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
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
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

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