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!

Attachments
Attachment Size
module_sample.zip 6.73 KB

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.