Posts Tagged ‘Editor WYSIWYG’

junio 6, 2010 15

Tutorial de CKEditor. Parte IV.

By in JavaScript, Librerías

Entre las funcionalidades de CKEditor se encuentra una muy interesante, la posibilidad de usar plantillas en el editor. Además es bastante fácil de implementar.  Vamos a ver como configurar nuestro CKEditor para que nos permita mostrar plantillas:

<html>
  <head>
    <title>ckeditor test</title>
    <script src="ckeditor/ckeditor.js"></script>
    <script src="editor.js"></script>
  </head>
  <body>
    <textarea id="editor"></textarea>
  </body>
</html>

Esta es nuestra página con el editor. Hemos añadido el script de ckeditor y otro más llamado editor.js. En ese archivo está el código siguiente:

window.onload = function() {
  CKEDITOR.replace( 'editor',
  {
    toolbar : 'Full',
    templates_files : [ './templates.js' ]
  });
}

Hemos añadido una barra completa para que aparezca el botón de plantilla aunque, esto no es estrictamente necesario, bastaba con añadir el botón Templates a la barra de herramientas, como vimos en la segunda parte del tutorial. Vemos que hay una nueva propiedad (templates_files). Esta propiedad es un array en el que indicaremos los nombres de los ficheros donde definimos las plantillas. En este caso solo un archivo, llamado templates.js.

El archivo templates.js tendrá el siguiente código:

// Registramos las plantillas
CKEDITOR.addTemplates( 'default',
{
  // La ruta donde están las imágenes de las plantillas
  imagesPath : CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'templates' ) + 'templates/images/' ),

  // Definición de las plantillas
  templates :
  [
    {
      title: 'Plantilla 1',
      image: 'template1.gif',
      description: 'Descripci&oacute;n de la plantilla 1.',
      html:
        '<h2>Pantilla 1</h2>' +
        '<p>Inserte el texto aqu&iacute;.</p>'
    },
    {
      title: 'Plantilla 2',
      html:
      '<h3>Plantilla 2</h3>' +
      '<p>Inserte el texto aqu&iacute;.</p>'
    }
  ]
});

Ahora vamos a la parte interesante. Para añadir plantillas llamamos al addTemplates, al que le pasamos un nombre y un objeto con los datos necesarios para mostrar las plantillas. El objeto tiene los campos imagePath, donde le indicamos la ruta de la imágenes que aparecerán como vista previa de la plantilla, y templates, un array de objetos que tienen los datos de la plantilla. Estos datos son:

  • title: Título de la plantilla.
  • image: imagen de vista previa de la plantilla.
  • description: descripción de la plantilla.
  • html: La plantilla propiamente dicha.

De esta sencilla forma podemos añadir plantillas a nuestro editor. Cuando pulsemos sobre el botón de plantillas nos aparecerá la siguiente ventana:

Ahora solo toca seleccionar nuestra plantilla y esta aparecerá como contenido de nuestro editor, reemplazándolo o añadiéndolo según hayamos indicado en la ventana,

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , , ,

diciembre 3, 2009 39

Tutorial de CKEditor. Parte III.

By in JavaScript, Librerías

Hoy, por petición de un lector, vamos a ver como añadir a CKEditor un navegador de archivos que nos permite subir archivos e insertar imágenes al servidor. Para ello vamos a hacer uso de CKFinder, el navegador en cuestión.

Así se ve CKFinder

Así se ve CKFinder

Lo primero que tenemos que hacer es descargarnos CKFinder y colocarlo en el mismo sitio donde tenemos la carpeta de CKEditor, aunque esto no es obligatorio si es recomendable. Para el tutorial vamos a usar la versión para PHP. Tiene que quedar de la siguiente manera:

Disposición de los archivos

Disposición de los archivos

Una vez que tenemos esto solo tenemos que incluir la librería de CKFinder y hacer que este sea el navegador y gestor de nuestros archivos. Para ello nos basta con el código siguiente (corregido gracias a los lectores):

<script type="text/javascript" src="./ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="./ckfinder/ckfinder.js"></script>
<script type="text/javascript">
window.onload = function()
{
 editor = CKEDITOR.replace('editor');
 CKFinder.setupCKEditor( editor, '/ckfinder/' );
}
</script>

De esta forma usamos CKFinder para que nos configure el editor, sin tener que tocar la configuración de este. Hay también métodos para hacer mediante la configuración de CKEditor, pero son más complejos y esto tampoco es un tutorial extensivo.

Así se ve el Pop Up de imagen

Así se ve el Pop Up de imagen

Si probamos esto veremos que no funciona, que nos da un error de configuración. Para solucionar esto tenemos que editar el archivo config.php. Buscaremos una función que se llama CheckAuthentication. Esta función devuelve true si el usuario tiene permiso para usar CKFinder y false si no lo tiene. Como podemos ver por defecto devuelve false. Aquí deberiamos comprobar si el usuario ha iniciado sesión, los permisos o roles que tiene asignado, etcétera; y en función de esto devolver lo que corresponda. Para hacer la prueba vamos simplemente a hacer que devuelva true:

function CheckAuthentication()
{
return true;
}

Ahora si nos dejará tanto subir archivos como seleccionar estos una vez subidos.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,

noviembre 18, 2009 18

Tutorial de CKEditor. Parte II.

By in JavaScript, Librerías

En la primera parte del tutorial vimos las distintas formas de configurar CKEditor. Hoy vamos a ver como configurar la barra de herramientas.

Para configurar la barra de herramientas tenemos dos formas:

  • Asignar a la propiedad toolbar una definición de la barra de herramientas.
  • Crear una propiedad toolbar_name con la definición de la barra de herramientas y posteriormente asignar a la propiedad toolbar el literal ‘name’.

Vamos a ver un ejemplo, con el segundo método, de creación de una barra de herramientas:

config.toolbar = 'Full';

config.toolbar_Full =
[
    ['Source','-','Save','NewPage','Preview','-','Templates'],
    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
    '/',
    ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    ['Link','Unlink','Anchor'],
    ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
    '/',
    ['Styles','Format','Font','FontSize'],
    ['TextColor','BGColor'],
    ['Maximize', 'ShowBlocks','-','About']
];

Con esto definimos una barra de herramientas muy completa. Como vemos la barra de herramientas es un array donde cada elemento es o bien un array o bien el literal ‘/’. Si el elemento es un array cada elemento es un botón. Si en lugar de un array nos encontramos con el carácter ‘/’ este fuerza un salto en la barra de herramientas, es decir nos crea una nueva barra debajo de la anterior.

Dentro de la definición de cada uno de los bloques de botones podemos encontrar el identificador de cada uno de los botones o el carácter ‘-‘ que nos crea un espacio en blanco.

La definición de la barra de herramientas debe ir en el archivo de configuración, o bien en el por defecto o en uno propio, explicado en el artículo anterior.

Podemos si lo queremos crear la barra de herramientas al crear la instancia de esta forma:

CKEDITOR.replace( 'editor1',
    {
        toolbar :
        [
            ['Styles', 'Format'],
            ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', '-', 'About']
        ]
    });

Como se puede ver es bastante sencillo configurar la barra de herramientas a nuestro gusto. Si teneis alguna duda intentaré resolverla en los comentarios.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , , ,

noviembre 16, 2009 4

Tutorial de CKEditor. Parte I.

By in JavaScript, Librerías

Hace ya bastante tiempo se comenzó en este blog un tutorial sobre FCKEditor, uno de los muchos editores WYSIWYG que hay, pero se dejó abandonado. Varias fueron las razones, principalmente la falta de tiempo y la salida de CKEditor.

Después de un tiempo en el tintero, y gracias a un comentario de un lector, me he decidido a comenzar un tutorial introductorio a CKEditor. Puede servirnos como introducción el artículo “Probando CKEditor” donde se da un vistazo rápido a esta herramienta.

Lo primero que vamos a ver es como configurar nuestro editor. Para ello tenemos tres opciones:

  • Definir la configuración al crear el editor.
  • Usar el archivo config.js para colocar la configuración en este.
  • Crear nuestro propio archivo de configuración.

Definir la configuración al crear el editor:

Cuando creamos una instancia del editor con el método replace podemos indicarle la configuración de este. De esta forma nos evitamos tener que tocar la instalación del editor. Veamos como se haría:

CKEDITOR.replace( 'editor1',
    {
        toolbar : 'Basic',
        uiColor : '#9AB8F3'
    });

Hay que tener en cuenta que lo que se pasa a la función es la definición literal de un objeto, por lo que tendremos que usar la sintaxis parametro : valor, y tener cuidado de no usar el símbolo “igual que” (=).

Usar el archivo config.js para colocar la configuración:

Si editamos el archivo config.js, en la misma carpeta donde está ckeditor.js, veremos que hay una función llamada CKEDITOR.editorConfig. Dentro de esta tendremos que colocar los valores de configuración que deseemos.

CKEDITOR.editorConfig = function( config )
{
    config.language = 'fr';
    config.uiColor = '#AADC6E';
};

Definir la configuración en nuestro propio archivo:

En este caso nos crearemos un archivo donde colocaremos la configuración. De esta forma no tenemos que modificar la instalación de CKEditor y támpoco tendremos que tocar nuestras páginas, tan solo el archivo de configuración. Dentro de él definiremos la función CKEDITOR.editorConfig, podemos por ejemplo copiar el config.js como base, y luego indicaremos al editor donde se encuentra este archivo de la siguiente manera:

CKEDITOR.replace( 'editor1',
    {
        customConfig : '/custom/ckeditor_config.js'
    });

Conclusiones:

Como hemos podido ver el editor nos ofrece varias formas para configurarlo, dependiendo de nuestras necesidades o nuestros gustos. Personalmente me gusta más la tercera, aunque cada cual es libre de hacerlo a su manera.

Espero que esta primera parte les haya sido de ayuda pues esta es la base para customizar nuestro editor. Hasta la próxima entrega del tutorial, que espero pueda tenerla lista para el miércoles.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , , ,

septiembre 30, 2009 8

Probando CKEditor

By in JavaScript, Librerías

Hace no mucho hablamos en este blog de la nueva versión de FCKEditor, llamada ahora CKEditor. Hoy toca probar muy por encima, en otras entradas se verá con mayor profundidad, este editor WYSIWYG.

Lo primero que tenemos que hacer es incluir el script de CKEditor:

<script type="text/javascript" src="./ckeditor/ckeditor.js"></script>

Como se puede ver tenemos CKEditor dentro de una carpeta con el mismo nombre. Acto seguido, en alguna parte de la página, tendremos que tener un textarea de la siguiente forma:

<textarea name="editor">Esto es un ejemplo de CKEditor</textarea>

Ahora tenemos dos opciones, veamos la primera:

<script type="text/javascript">
CKEDITOR.replace('editor');
</script>

Si optamos por esta opción tendremos que poner el código en cualquier parte de la página, pero siempre después de la definición del textarea que será nuestro editor.
Si queremos colocar el código, que crea el editor, en el head de la página podemos optar por esta otra opción:

<script type="text/javascript">
window.onload = function()
{
    CKEDITOR.replace('editor');
}
</script>

Para que de esta forma se espere a que cargue la página para crear el editor. Podemos ver una demo en la siguiente página:

Demo de CKEditor.

Aquí termina este primer acercamiento a este, más que interesante, editor.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , ,