Drupal Wysiwyg - Personaliza tu CKEditor

El módulo Wysiwyg de Drupal está dentro de nuestro grupo de módulos marcados como favoritos.

CKEditor

Fácil de instalar, fácil de configurar, compatible con diferentes Rich Text Editor y distintos plugins. Por esta y por otras razones, Strabinarius prácticamente siempre usa este módulo en los proyectos desarrollados en Drupal.

CKEditor 3.0

En el último proyecto realizado, Beetle Stories, utilizamos CKEditor como herramienta de texto para poder enviar las historias desde Internet.

A diferencia de otros proyectos, en éste necesitábamos que la configuración del CKEditor fuera diferente según los permisos del usuario.

Por ejemplo, si un usuario tiene permiso de "revisar historias", los parámetors de altura y anchura del CKEditor deben ser diferentes de otro otro usuario sin estos permisos. Otro parámetro a modificar es el de expandir el campo de texto (drag&drop), el comportamiento debe ser diferente según los permisos.

Drupal hook: hook_wysiwyg_editor_settings_alter

Buscando por los foros Drupaleros, encontramos un hook implementado para solucionar nuestro problema: hook_wysiwyg_editor_settings_alter.

Este hook te permite modificar la configuración de cualquier Rich Text Editor que tengas instalado en tu módulo Wysiwyg. Es decir, desde tu módulo Drupal, tienes control a todos los Rich Text Editor sin necesidad de estar buscando y modificando ficheros tipo "config.js" o similares. Simplemente brillante!!

Éste es el trozo de código PHP utilizado en nuestro proyecto para conseguir solucionar el problema anterior:

/**
 * Custom CKEditor Settings for your project
 */
function your_module_wysiwyg_editor_settings_alter(&$settings, &$context)
{
  // Specific settings for CKEditor RTE
  if ($context['profile']->editor == 'ckeditor')
  {
    if ( user_access('revisar historias') )
    {
      // Dimensions
      $settings['height'] = 280;
      $settings['width'] = 600;
      // Resize settings
      $settings['resize_enabled'] = true;
      $settings['resize_minWidth'] = 600;
      $settings['resize_maxWidth'] = 900;
      $settings['resize_maxHeight'] = 400;
    }
    else
    {
      // No resize
      $settings['resize_enabled'] = false;
      // Toolbar must be hidden
      $settings['toolbarCanCollapse'] = false;
      $settings['toolbarStartupExpanded'] = false;
    }
  }
}

Referencias:

Comentarios

El problema fue resulelto.

El problema fue resulelto. Tenia el modulo Node parameter control y tenia la opcion input format marcada. La desmarque y funciono. Saludos!

Gracias por su pronta

Gracias por su pronta respuesta Fabián.
Los permisos los tienen todos los roles. Me fuí a Configuración del sitio - Formatos de entrada - Verifique FULL HTML y todo está correcto. Y en las opciones de Wysiwyg profiles - FULL HTML - CKEditor 3.6.3.7474 - Verifique y no hay ninguna opción de configuración por roles.

Será que le hace falta configurar algo en Administración de usuarios - Permisos?

Buenas Alvaro. El módulo

Buenas Alvaro.

El módulo Wysiwyg utiliza Input Filters para asignar y configurar los RTE (Rich Text Editors). Por ejemplo, en "Full HTML" pongo un CKEditor con una serie de botones y en "Filtered HTML" pongo un TinyMCE con otra configuración.

De modo que revisa los demás roles tengan permisos al Input Filter donde tienes asignado el CKEditor.

Saludos.

Fabián

Hola buen día, Tengo un

Hola buen día,

Tengo un problema con el módulo Wysiwyg. Solamente el administrador le visualiza el editor de texto. A los demas roles no les aparece. Verifique en los permisos y no aparece Wysiwyg. EN la configuracion de Wysiwyg profiles instale CKEditor. y no tiene la opcion de asignacion de roles. Que puede estar pasando?

Esto es lo que le sale a los demas usuarios
http://www.subirimagenes.net/show-im...200fdd426704b9

Enviar un comentario nuevo

1 + 0 =