class HelpTopicPluginManager

Same name in this branch
  1. 10 core/modules/help/src/HelpTopicPluginManager.php \Drupal\help\HelpTopicPluginManager
Same name and namespace in other branches
  1. 9 core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
  2. 8.9.x core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
  3. 11.x core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
  4. 11.x core/modules/help/src/HelpTopicPluginManager.php \Drupal\help\HelpTopicPluginManager

Provides the default help_topic manager.

Modules and themes can provide help topics in .html.twig files called provider.name_of_topic.html.twig inside the module or theme sub-directory help_topics. The provider is validated to be the extension that provides the help topic.

The Twig file must contain YAML front matter with a key named 'label'. It can also contain keys named 'top_level' and 'related'. For example:


---
label: 'Configuring error responses, including 403/404 pages'

# Related help topics in an array.
related:
  - core.config_basic
  - core.maintenance

# If the value is true then the help topic will appear on admin/help.
top_level: true
---

In addition, modules wishing to add plugins can define them in a module_name.help_topics.yml file, with the plugin ID as the heading for each entry, and these properties:

  • id: The plugin ID.
  • class: The name of your plugin class, implementing \Drupal\help_topics\HelpTopicPluginInterface.
  • top_level: TRUE if the topic is top-level.
  • related: Array of IDs of topics this one is related to.
  • Additional properties that your plugin class needs, such as 'label'.

You can also provide an entry that designates a plugin deriver class in your help_topics.yml file, with a heading giving a prefix ID for your group of derived plugins, and a 'deriver' property giving the name of a class implementing \Drupal\Component\Plugin\Derivative\DeriverInterface. Example:

my_module_prefix:
deriver:
'Drupal\\my_module\\Plugin\\Deriver\\HelpTopicDeriver';

Loader

@internal Help Topics 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.

Hierarchy

Expanded class hierarchy of HelpTopicPluginManager

See also

\Drupal\help_topics\HelpTopicDiscovery

\Drupal\help_topics\HelpTopicTwig

\Drupal\help_topics\HelpTopicPluginInterface

\Drupal\help_topics\HelpTopicPluginBase

hook_help_topics_info_alter()

Plugin API

\Drupal\Component\Plugin\Derivative\DeriverInterface

Related topics

File

core/modules/help_topics/src/HelpTopicPluginManager.php, line 66

Namespace

Drupal\help_topics
View source
class HelpTopicPluginManager extends CoreHelpTopicPluginManager {

}

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