You are here

public function BlockPluginTrait::getMachineNameSuggestion in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Block/BlockPluginTrait.php \Drupal\Core\Block\BlockPluginTrait::getMachineNameSuggestion()
  2. 9 core/lib/Drupal/Core/Block/BlockPluginTrait.php \Drupal\Core\Block\BlockPluginTrait::getMachineNameSuggestion()

File

core/lib/Drupal/Core/Block/BlockPluginTrait.php, line 247

Class

BlockPluginTrait
Provides the base implementation of a block plugin.

Namespace

Drupal\Core\Block

Code

public function getMachineNameSuggestion() {
  $definition = $this
    ->getPluginDefinition();
  $admin_label = $definition['admin_label'];

  // @todo This is basically the same as what is done in
  //   \Drupal\system\MachineNameController::transliterate(), so it might make
  //   sense to provide a common service for the two.
  $transliterated = $this
    ->transliteration()
    ->transliterate($admin_label, LanguageInterface::LANGCODE_DEFAULT, '_');
  $transliterated = mb_strtolower($transliterated);
  $transliterated = preg_replace('@[^a-z0-9_.]+@', '', $transliterated);
  return $transliterated;
}