class HelpTopicSection extends HelpSectionPluginBase implements ContainerFactoryPluginInterface, SearchableHelpInterface (View source)

internal  Help Topic is currently experimental and should only be leveraged by experimental modules and development releases of contributed modules. See https://www.drupal.org/core/experimental for more information.
 

Provides the help topics list section for the help page.

Traits

Trait to implement CacheableDependencyInterface for unchanging objects.

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Provides dependency injection friendly methods for serialization.

Provides a trait for the messenger service.

Constants

DERIVATIVE_SEPARATOR

A string which is used to separate base plugin IDs from the derivative ID.

Properties

protected string $pluginId

The plugin_id.

from  PluginBase
protected array $pluginDefinition

The plugin implementation definition.

from  PluginBase
protected array $configuration

Configuration information passed into the plugin.

from  PluginBase
protected TranslationManager $stringTranslation

The string translation service.

protected array $_serviceIds

An array of service IDs keyed by property name used for serialization.

from  DependencySerializationTrait
protected array $_entityStorages

An array of entity type IDs keyed by the property name of their storages.

from  DependencySerializationTrait
protected MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected HelpTopicPluginManagerInterface $pluginManager

The plugin manager.

protected HelpTopicPluginInterface[] $topLevelPlugins

The top level help topic plugins.

protected CacheableMetadata $cacheableMetadata

The merged top level help topic plugins cache metadata.

protected RendererInterface $renderer

The Renderer service to format the username and node.

protected LanguageDefault $defaultLanguage

The default language object.

protected LanguageManagerInterface $languageManager

The language manager.

Methods

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, HelpTopicPluginManagerInterface $plugin_manager, RendererInterface $renderer, LanguageDefault $default_language, LanguageManagerInterface $language_manager, TranslationManager $translation_manager)

Constructs a HelpTopicSection object.

string
getPluginId()

Gets the plugin_id of the plugin instance.

string
getBaseId()

Gets the base_plugin_id of the plugin instance.

string|null
getDerivativeId()

Gets the derivative_id of the plugin instance.

array
getPluginDefinition()

Gets the definition of the plugin implementation.

bool
isConfigurable()

Determines if the plugin is configurable.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

getCacheContexts()

{@inheritdoc}

getCacheTags()

{@inheritdoc}

getCacheMaxAge()

{@inheritdoc}

string
getTitle()

Returns the title of the help section.

string
getDescription()

Returns the description text for the help section.

create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

array
listTopics()

Returns a list of topics to show in the help section.

getPlugins()

Gets the top level help topic plugins.

string[]
listSearchableTopics()

Returns the IDs of topics that should be indexed for searching.

array
renderTopicForSearch(string $topic_id, LanguageInterface $language)

Renders one topic for search indexing or search results.

getCacheMetadata()

Gets the merged CacheableMetadata for all the top level help topic plugins.

Details

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, HelpTopicPluginManagerInterface $plugin_manager, RendererInterface $renderer, LanguageDefault $default_language, LanguageManagerInterface $language_manager, TranslationManager $translation_manager)

Constructs a HelpTopicSection object.

Parameters

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin_id for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

HelpTopicPluginManagerInterface $plugin_manager

The help topic plugin manager service.

RendererInterface $renderer

The renderer.

LanguageDefault $default_language

The default language object.

LanguageManagerInterface $language_manager

The language manager.

TranslationManager $translation_manager

The translation manager. We are using a method that doesn't exist on an interface, so require this class.

string getPluginId()

Gets the plugin_id of the plugin instance.

Return Value

string

The plugin_id of the plugin instance.

string getBaseId()

Gets the base_plugin_id of the plugin instance.

Return Value

string

The base_plugin_id of the plugin instance.

string|null getDerivativeId()

Gets the derivative_id of the plugin instance.

Return Value

string|null

The derivative_id of the plugin instance NULL otherwise.

array getPluginDefinition()

Gets the definition of the plugin implementation.

Return Value

array

The plugin definition, as returned by the discovery object used by the plugin manager.

bool isConfigurable()

Determines if the plugin is configurable.

Return Value

bool

A boolean indicating whether the plugin is configurable.

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

getCacheContexts()

{@inheritdoc}

getCacheTags()

{@inheritdoc}

getCacheMaxAge()

{@inheritdoc}

string getTitle()

Returns the title of the help section.

Return Value

string

The title text, which could be a plain string or an object that can be cast to a string.

string getDescription()

Returns the description text for the help section.

Return Value

string

The description text, which could be a plain string or an object that can be cast to a string.

static ContainerFactoryPluginInterface create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

Parameters

ContainerInterface $container

The container to pull out services used in the plugin.

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin ID for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

Return Value

ContainerFactoryPluginInterface

Returns an instance of this plugin.

array listTopics()

Returns a list of topics to show in the help section.

Return Value

array

A sorted list of topic links or render arrays for topic links. The links will be shown in the help section; if the returned array of links is empty, the section will be shown with some generic empty text.

protected HelpTopicPluginInterface[] getPlugins()

Gets the top level help topic plugins.

Return Value

HelpTopicPluginInterface[]

The top level help topic plugins.

string[] listSearchableTopics()

Returns the IDs of topics that should be indexed for searching.

Return Value

string[]

An array of topic IDs that should be searchable. IDs need to be unique within this HelpSection plugin.

array renderTopicForSearch(string $topic_id, LanguageInterface $language)

Renders one topic for search indexing or search results.

Parameters

string $topic_id

The ID of the topic to be indexed.

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.

protected CacheableMetadata getCacheMetadata()

Gets the merged CacheableMetadata for all the top level help topic plugins.

Return Value

CacheableMetadata

The merged CacheableMetadata for all the top level help topic plugins.