Hola drodilla.Yo no tocaría ese archivo por dos motivos:- No puedes llevártelo (hacer una copia) a "shared" (zona en la que deben ubicarse las copias de los archivos que queremos modificar y que está a la misma altura de "webapps" donde esté desplegado Alfresco Share). Sólo puedes copiar a "shared" aquellos archivos que estén a partir de "\webapps\share\WEB-INF\classes\alfresco\".
- Modificar los estilos no es recomendable porque pueden influir en la presentación de otros elementos de la misma página o de otras distintas.
Así pues, yo te recomiendo modificar la plantilla.Antes de comenzar una pequeña explicación (made in me ). Las plantillas son las encargadas de contener es "esqueleto" de las páginas. Algunas de ellas utilizan o se apoyan en otras plantillas que son incluidas (normalmente mediante el uso de macros; entiende "macro" como una función con elementos de entrada y cuya salida es un trozo o bloque de código).Este es el caso que estamos tratando. Tal es así que la plantilla que se encarga de presentar la cabecera es "header.get.html.ftl", que se encuentra en "\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\header\". Pero esta plantilla, para presentar los enlaces de la cabecera hace uso de otra que contiene la macro. Ésta es "header.inc.ftl" y la macro es "renderItems".Llamada a la macro en la plantilla "header.get.html.ftl" en la línea 31.<span id="${id}-appItems" class="app-items hidden"><@header.renderItems config.global.header.appItems id "app" /></span>
Macro "renderItems" en "header.inc.ftl" en la línea 8.<#–
Application and User Items entrypoint
–>
<#macro renderItems p_root p_id p_type>
<#assign id = p_id>
<#assign js = "">
<#– Render an application item –>
<#list p_root.items as item>
<@menuItem item p_type />
<#if p_type = "user" && item_has_next><span class="separator"> </span></#if>
</#list>
<#– Remove first comma –>
<#if js?starts_with(",")><#assign js = js?substring(1)></#if>
</#macro>
Curiosamente esta macro contiene un bucle en el que se llama a otra macro ("menuItem, en la línea 14).
<@menuItem item p_type />
Así pues, llegamos a nuestro objetivo. Es esa macro la que se encarga de la lógica que permite presentar el menú. De manera que seguimos los siguientes pasos- Copiar el archivo "header.inc.ftl", que está en "\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\header\", en la ruta "\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\header\". Si esta ruta no existe debes crearla.
- Abrir esta copia e ir a la línea 32.
<#assign attrStyle><#if (item.icon?length > 0)>style="background-image: url(${url.context}/res/components/images/header/${item.icon});"</#if></#assign>
En esta línea se crea una variable ("attrStyle") a la cual se le asigna el siguiente código:
style="background-image: url(${url.context}/res/components/images/header/${item.icon});"
Aquí se encuentra el estilo del icono que podemos modificar. Aquí podemos introducir el código html que queramos dándole un aspecto distinto.
- Ir a la línea 40.
<span class="first-child" ${attrStyle!""}>
A este "span" se le asigna el estilo definido anteriormente en la variable "attrStyle". Este código html podemos modificarlo también a nuestro antojo (cambiar el span por un "div", no olvides su cirre, eliminarlo, etc).
- En las siguientes líneas se presenta una casuística que mostrara una cosa u otra dependiento del tipo del item. Lo que hay en su interior son llamadas a las funciones javascript de la librería de Yahoo. Pero si nos fijamos en todos los casos está presenta la presentación del botón, al que también podemos modificar sus estilos añadiéndole el atributo "style".
Bueno, siento la parrafada, pero como decías que estabas empezando en esto he intentado dejarlo todo explicado y lo más claramente posible. En cualquier caso, si tienes dudas ya sabes que puedes contar con este foro para resolverlas.Un saludo y suerte :wink:.