class HelpTopicPluginManager
Same name in this branch
- 11.x core/modules/help/src/HelpTopicPluginManager.php \Drupal\help\HelpTopicPluginManager
Same name in other branches
- 9 core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
- 8.9.x core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
- 10 core/modules/help_topics/src/HelpTopicPluginManager.php \Drupal\help_topics\HelpTopicPluginManager
- 10 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
- class \Drupal\Component\Plugin\PluginManagerBase implements \Drupal\Component\Plugin\PluginManagerInterface uses \Drupal\Component\Plugin\Discovery\DiscoveryTrait
- class \Drupal\Core\Plugin\DefaultPluginManager extends \Drupal\Component\Plugin\PluginManagerBase implements \Drupal\Component\Plugin\PluginManagerInterface, \Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface, \Drupal\Core\Cache\CacheableDependencyInterface uses \Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait, \Drupal\Core\Cache\UseCacheBackendTrait
- class \Drupal\help\HelpTopicPluginManager extends \Drupal\Core\Plugin\DefaultPluginManager implements \Drupal\help\HelpTopicPluginManagerInterface
- class \Drupal\help_topics\HelpTopicPluginManager extends \Drupal\help\HelpTopicPluginManager
- class \Drupal\help\HelpTopicPluginManager extends \Drupal\Core\Plugin\DefaultPluginManager implements \Drupal\help\HelpTopicPluginManagerInterface
- class \Drupal\Core\Plugin\DefaultPluginManager extends \Drupal\Component\Plugin\PluginManagerBase implements \Drupal\Component\Plugin\PluginManagerInterface, \Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface, \Drupal\Core\Cache\CacheableDependencyInterface uses \Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait, \Drupal\Core\Cache\UseCacheBackendTrait
Expanded class hierarchy of HelpTopicPluginManager
See also
\Drupal\help_topics\HelpTopicDiscovery
\Drupal\help_topics\HelpTopicTwig
\Drupal\help_topics\HelpTopicPluginInterface
\Drupal\help_topics\HelpTopicPluginBase
\Drupal\Component\Plugin\Derivative\DeriverInterface
Related topics
File
-
core/
modules/ help_topics/ src/ HelpTopicPluginManager.php, line 66
Namespace
Drupal\help_topicsView source
class HelpTopicPluginManager extends CoreHelpTopicPluginManager {
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.