Cambios en las barras del editor WYSING de OpenCMS

Hoy nos hemos encontrado con el problema de quitar la posibilidad de que el usuario pueda usar el subrayado y el tachado del editor WYSING (por ejemplo FCKEditor) del OpenCMS.

La solución es muy sencilla versiones superiores a la OpenCMS 7.5.1. Podemos tener una solución global para todo nuestro gestor de contenidos o particular para un campo.

Para un campo la solución es usar «hidebuttons:underline;strikethrough» en la configuración del elemento dentro del XSD:

[code]

<layout element=»Texto» widget=»HtmlWidget»  configuration=»hidebuttons:underline;strikethrough»/>

[/code]

Como recordatorio, os copio todos los elementos que puede tener el editor (versión 8.0.4 de OpenCMS) que podéis consultar en el JavaDOC de Opencms o directamente http://www.opencms.org/javadoc/core/constant-values.html#org.opencms.widgets.CmsHtmlWidgetOption.BUTTONBAR_DEFAULT%7C

Estos son todos lo elementos posibles:

[code]

"[;undo;redo;-;find;replace;-;selectall;removeformat;-;cut;copy;paste;-;bold;italic;underline;strikethrough;-;subscript;superscript;];[;alignleft;aligncenter;alignright;justify;-;orderedlist;unorderedlist;-;outdent;indent;];[;source;-;formatselect;style;editorlink;link;anchor;unlink;];[;imagegallery;downloadgallery;linkgallery;htmlgallery;tablegallery;-;table;-;specialchar;-;print;spellcheck;-;fitwindow;];[;abbr;absolute;acronym;advhr;attribs;backcolor;blockquote;cite;cleanup;del;emotions;fontselect;fontsizeselect;forecolor;hr;ins;insertdate;insertlayer;inserttime;ltr;media;movebackward;moveforward;newdocument;nonbreaking;pagebreak;pastetext;pasteword;rtl;styleprops;template;visualaid;visualchars;];"

[/code]

Para los cambios en todo nuestro gestor, debemos cambiar la clase org.opencms.widgets.CmsHTMLWidgetOption.BUTTONBAR_DEFAULT

¡¡Espero que os sirva!!

Agrupar los contenidos en nuevas páginas

A la hora de crear nuevos tipos en opencms, en el fichero opencms-modules indicamos la «página» usada en la que metemos el contenido:

[code]

<explorertype name=»CONTENIDO» key=»fileicon.CONTENIDO» icon=»CONTENIDO.png» bigicon=»CONTENIDO_big.png» reference=»xmlcontent»>
<newresource page=»CARPETA» uri=»newresource_xmlcontent.jsp?newresourcetype=textoplano» order=»110″ autosetnavigation=»false» autosettitle=»false» info=»desc.textoplano»/>
</explorertype>

[/code]

Para poder crear nuestras páginas, justo antes de este contenido, debemos insertar un nuevo «explorertype» como a continuación para que nos aparezca en la «CARPETA» :

[code]

<explorertype name=»CARPETA» key=»fileicon.CARPETA» icon=»CARPETA.gif» reference=»xmlcontent»>
<newresource uri=»newresource.jsp?page=CARPETA» order=»10″ autosetnavigation=»false» autosettitle=»false» info=»desc.CARPETA/>
</explorertype>

<explorertype name…
<newresource page=»PAGINA» …
</explorertype>

[/code]

Esto se puede anidar tanto como queramos para tener páginas que ayuden a los usuarios cuanto tenemos muchos contenidos en nuestro OpenCMS.

Crear tipos de contenidos «nested» en OpenCMS

Cuando creamos un contenido en OpenCMS podemos crear tipos de contenido que incluyan otros contenidos dentro, de forma que podamos «nestear» y asi poder tener tipos de contenidos que podemos usar en más de un tipo (o escalar) de forma sencilla.

Imaginemos (como ejemplo) que queremos crear un tipo de contenido llamado «pagina generica» el cual sera un contenido que tenga un titulo, subtitulo, párrafos de texto, imagenes, enlaces y adjuntos (ficheros). Pero que cada párrafo puede contener a su vez más imagenes, adjuntos… e incluso que los enlaces tengan descripciones (ademas del enlace en si, tanto externo como interno). Si hicieramos un unico contenido seria «grande» y podria ser poco usable, cuando lo importante es tener un contenido que «contenga» el resto.

Así, podemos crear un contenido llamado PaginaTexto que contenga contenidos Parrafo, Imagenes y Enlaces.

Leer más