Drupal 7: Añadir un plugin vía modulo custom a CKEditor (el módulo)
13/08/2018 by Capy

Front.id

En Drupal 7 mediante el hook hook_ckeditor_plugin() es posible indicarle al modulo CKEditor la existencia de un nuevo plugin

¿Como lo hacemos?

Fácil, create un directorio de plugins en tu modulo y coloca allí los plugins que quieras registrar y rellena el hook hook_ckeditor_plugin().

function module_sample_ckeditor_plugin() {
  return array(
    'responsive_table' => array(
      // Nombre y desc que se muestra en la configuración de ckeditor.
      'name' => 'responsive_table',
      'desc' => t('Responsive table'),

      // Ubicación del plugin de ckeditor (no hay que poner el nombre del js porque ckeditor.module asume que es plugin.js).
      'path' => base_path() . drupal_get_path('module', 'module_sample') . '/plugins/responsive_table/',

      // El boton que va a aparecer en la configuracion de ckeditor.
      'buttons' => array(
        'responsive_table' => array(
          'icon' => 'icons/responsive_table.png',
          'label' => 'Table',
        )
      )
    )
  );
}

 

Limpia el cache, ve a un perfil de ckeditor (Por ejemplo admin/config/content/ckeditor/edit/Full) y en el apartado de "EDITOR APPEARANCE" verás "Responsive table" en el listado de plugins disponibles.

CKEditor plugins list

Selecciónalo, guarda los cambios y ya vas a tener el icono disponible para colocarlo en la barra de herramientas:

CKEditor available plugins icon

Te dejo el módulo del ejemplo funcional al final del articulo.

Saludos!

Add new comment

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.