web-dev-qa-db-fra.com

Comment désactiver l'en-tête H1 dans CKeditor?

J'aimerais donner à certains auteurs une meilleure expérience SEO. Comment puis-je désactiver l'en-tête 1 dans CKeditor intégré dans Drupal 8?

5
Josh

1) Jetez un œil aux éditeurs que vous utilisez sur votre site à l'adresse/admin/config/content/formats

2) Pour chaque éditeur, vous devrez mettre à jour les balises autorisées. Modifions le format HTML COMPLET pour cet exemple, cliquez sur le bouton "Configurer" pour "HTML complet" (/ admin/config/content/formats/manage/full_html).

3) Sous "Filtres activés", cochez la case intitulée "Limiter les balises HTML autorisées et corriger le code HTML défectueux". Un formulaire de paramètres de filtre apparaîtra ci-dessous. Supprimez la balise h1 du champ intitulé "Balises HTML autorisées".

allowed html tags

4) Enregistrer

Testez qu'il est supprimé de la liste déroulante:

no h1

9
oknate
/**
 * Implements hook_editor_js_settings_alter().
 */
function YOURMODULE_editor_js_settings_alter(array &$settings) {

    // Set default CKEditor format tags
    $settings['editor']['formats']['html']['editorSettings']['format_tags'] = "p;h2;h3;h4;h5;h6";
}
3
Raphael A.

Vous pouvez créer un plugin personnalisé pour cela:

<?php

namespace Drupal\custom_module\Plugin\CKEditorPlugin;

use Drupal\editor\Entity\Editor;
use Drupal\ckeditor\Plugin\CKEditorPlugin\Internal as InternalCore;


/**
 * Defines the "internal" plugin (i.e. core plugins part of our CKEditor build).
 *
 * @CKEditorPlugin(
 *   id = "internal",
 *   label = @Translation("CKEditor core")
 * )
 */
class Internal extends InternalCore {

  /**
   * {@inheritdoc}
   */
  public function getConfig(Editor $editor) {
    $config = parent::getConfig($editor);
    $config['format_tags'] = 'p;h2;h3;h4;h5;h6;pre';
    return $config;
  }

}

Et

/**
 * Modify the list of available CKEditor plugins.
 *
 * This hook may be used to modify plugin properties after they have been
 * specified by other modules.
 *
 * @param $plugins
 *   An array of all the existing plugin definitions, passed by reference.
 *
 * @see CKEditorPluginManager
 */
function custom_module_ckeditor_plugin_info_alter(array &$plugins) {
  $plugins['internal']['class'] = 'Drupal\custom_module\Plugin\CKEditorPlugin\Internal';
}
2
keopx

De http://www.drupalthemer.org/blog/drupal-8-how-to-ckeditor-custom-styles :

Désactiver les boutons indésirables

Visitez/admin/config/content/formats/manage/text format name.

Sous "Configuration de la barre d'outils", pour désactiver un bouton de barre d'outils, faites-le glisser de son emplacement sur la "Barre d'outils active" jusqu'à "Boutons disponibles". Répétez ce processus pour chaque bouton que vous souhaitez supprimer. Pour réactiver abutton, faites simplement l'inverse et faites-le glisser vers la "barre d'outils active". * Les boutons doivent être attribués à un "groupe" (les zones désignées par les bordures pâles et pointillées).

1
webmaniac