You are here

public function StylesCombo::getButtons in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/ckeditor/src/Plugin/CKEditorPlugin/StylesCombo.php \Drupal\ckeditor\Plugin\CKEditorPlugin\StylesCombo::getButtons()

Returns the buttons that this plugin provides, along with metadata.

The metadata is used by the CKEditor module to generate a visual CKEditor toolbar builder UI.

Return value

array An array of buttons that are provided by this plugin. This will only be used in the administrative section for assembling the toolbar. Each button should be keyed by its CKEditor button name (you can look up the button name up in the plugin.js file), and should contain an array of button properties, including:

  • label: A human-readable, translated button name.
  • image: An image for the button to be used in the toolbar.
  • image_rtl: If the image needs to have a right-to-left version, specify an alternative file that will be used in RTL editors.
  • image_alternative: If this button does not render as an image, specify an HTML string representing the contents of this button.
  • image_alternative_rtl: Similar to image_alternative, but a right-to-left version.
  • attributes: An array of HTML attributes which should be added to this button when rendering the button in the administrative section for assembling the toolbar.
  • multiple: Boolean value indicating if this button may be added multiple times to the toolbar. This typically is only applicable for dividers and group indicators.

Overrides CKEditorPluginButtonsInterface::getButtons

File

core/modules/ckeditor/src/Plugin/CKEditorPlugin/StylesCombo.php, line 52

Class

StylesCombo
Defines the "stylescombo" plugin.

Namespace

Drupal\ckeditor\Plugin\CKEditorPlugin

Code

public function getButtons() {
  return [
    'Styles' => [
      'label' => $this
        ->t('Font style'),
      'image_alternative' => [
        '#type' => 'inline_template',
        '#template' => '<a href="#" role="button" aria-label="{{ styles_text }}"><span class="ckeditor-button-dropdown">{{ styles_text }}<span class="ckeditor-button-arrow"></span></span></a>',
        '#context' => [
          'styles_text' => $this
            ->t('Styles'),
        ],
      ],
    ],
  ];
}