You are here

class ConfigTranslationContextualLink in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/config_translation/src/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php \Drupal\config_translation\Plugin\Menu\ContextualLink\ConfigTranslationContextualLink
  2. 9 core/modules/config_translation/src/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php \Drupal\config_translation\Plugin\Menu\ContextualLink\ConfigTranslationContextualLink

Defines a contextual link plugin with a dynamic title.

Hierarchy

Expanded class hierarchy of ConfigTranslationContextualLink

File

core/modules/config_translation/src/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php, line 12

Namespace

Drupal\config_translation\Plugin\Menu\ContextualLink
View source
class ConfigTranslationContextualLink extends ContextualLinkDefault {
  use StringTranslationTrait;

  /**
   * The mapper plugin discovery service.
   *
   * @var \Drupal\config_translation\ConfigMapperManagerInterface
   */
  protected $mapperManager;

  /**
   * {@inheritdoc}
   */
  public function getTitle(Request $request = NULL) {

    // Use the custom 'config_translation_plugin_id' plugin definition key to
    // retrieve the title. We need to retrieve a runtime title (as opposed to
    // storing the title on the plugin definition for the link) because it
    // contains translated parts that we need in the runtime language.
    $type_name = mb_strtolower($this
      ->mapperManager()
      ->createInstance($this->pluginDefinition['config_translation_plugin_id'])
      ->getTypeLabel());
    return $this
      ->t('Translate @type_name', [
      '@type_name' => $type_name,
    ]);
  }

  /**
   * Gets the mapper manager.
   *
   * @return \Drupal\config_translation\ConfigMapperManagerInterface
   *   The mapper manager.
   */
  protected function mapperManager() {
    if (!$this->mapperManager) {
      $this->mapperManager = \Drupal::service('plugin.manager.config_translation.mapper');
    }
    return $this->mapperManager;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigTranslationContextualLink::$mapperManager protected property The mapper plugin discovery service.
ConfigTranslationContextualLink::getTitle public function Returns the localized title to be shown for this contextual link. Overrides ContextualLinkDefault::getTitle
ConfigTranslationContextualLink::mapperManager protected function Gets the mapper manager.
ContextualLinkDefault::getGroup public function
ContextualLinkDefault::getOptions public function
ContextualLinkDefault::getRouteName public function
ContextualLinkDefault::getWeight public function
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition.
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
PluginBase::getDerivativeId public function
PluginBase::getPluginDefinition public function 2
PluginBase::getPluginId public function
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 53
StringTranslationTrait::$stringTranslation protected property The string translation service. 3
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. 1
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.