Nuevos selectores en CSS3

Aunque JQuery nos permite seleccionar elementos con gran precisión dentro de nuestro DOM de objetos en la página desde CSS podemos hacer algo similar sin tener que recurrir al javascript y, por lo tanto, siendo más suave y rápido para el cliente (el navegador). El mayor problema es que es necesario que el navegador admita CSS3 para que funcione de forma correcta.

Leer más

Captura y revisa a que elemento haces click con javascript

Aunque JQuery es el nuevo estandar, compatible y que vale para todo siempre es bueno volver al viejo javascript para hacer las cosas.

Uno de los problemas principales es saber a que elemento DOM ha hecho el usuario click encima y, por ejemplo, ver el contenido de este para luego realizar lo que necesitemos. Es decir, he aqui un script que permite devolver sobre que elemento estamos haciendo click.

[code]
// Creamos un array vacio
var ElementosClick = new Array();
// Capturamos el click y lo pasamos a una funcion
document.onclick = captura_click;

function captura_click(e) {
// Funcion para capturar el click del raton
var HaHechoClick;
if (e == null) {
// Si hac click un elemento, lo leemos
HaHechoClick = event.srcElement;
} else {
// Si ha hecho click sobre un destino, lo leemos
HaHechoClick = e.target;
}
// Añadimos el elemento al array de elementos
ElementosClick.push(HaHechoClick);
// Una prueba con salida en consola
console.log(«Contenido sobre lo que ha hecho click: «+clickedElement.innerHTML);
}[/code]

Como vemos, escribimos por consola de javascript el contenido de donde hemos pulsado.

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.

Problemas con los permisos en los directorios creados por apache

Hoy nos hemos encontrado con el problema de que apache crea directorios con permisos solo 750, a pesar de poner un 777 en el mkdir desde php. Se solucionaría con un umask antes del mkdir, pero nos restringiría las aplicaciones como wordpress, y tampoco nos interesa un script que cambiase los permisos por las noches, así que hemos estado un rato buscando la solución.

En nuestro Centos del servidor, tras mucho indagar, y cambiar el .profiles del usuario apache sin ningún resultado, hemos visto que la solución está en editar /etc/sysconfig/httpd añadiendo a final un «umask 0002» y reiniciar el apache. A partir de entonces crea los directorios con un 770 sin problemas.

Espero que os ayude!!