Tema en Liferay
Tema en Liferay
Tema en Liferay
Entorno
Este tutorial est escrito usando el siguiente entorno:
Hardware: Porttil 2,4 Ghz Intel Core2 Duo P8600 Sistema Operativo: Windows 7 Profesional x64 SP1 Instalada la versin de Liferay Portal 6.0.6 (versin Integrada en Tomcat 6) Eclipse Indigo (Revisar tutorial de Alex para su instalacin) LiferayIDE Instalado y configurado en Eclipse (Revisar tutorial de Rubn) Versin de java SDK 6 instalada en el sistema Plugin de Eclipse de editor de Velocity Veloeclise (Opcional)
2. Introduccin
En este tutorial veremos la estructura de un tema en Liferay 6.
4. Identificacin de componentes
Revisando el proyecto:
_diffs: Es el directorio donde trabajaremos normalmente para aadir nuestros diseos (css,js) o imagenes css: Es donde se ubicarn todos los estilos del tema images: Es donde se ubicarn todas las imagenes del tema js: Es donde se ubicarn los script javascript del tema templates: Es donde se ubicarn las plantillas velocity del tema WEB-INF/liferay-look-and-feel.xml: Es donde se define el identificador del tema en Liferay y la versin WEB-INF/liferay-plugin-package.properties: Es donde se definen las caracteristicas del paquete
5. Plantillas Velocity
Ahora revisamos para que vale cada plantilla comenzando por portal_normal.vm, ya que es la plantilla que define el esqueleto de nuestro portal:
Parseando el fichero de inicializacin de la plantilla: El cdigo #parse ($init) procesa la inicializacin del archivo $ {PORTAL_ROOT_HOME}/html/themes/_unstyled/templates/init.vm. Esta accin inicializa las variables y propiedades necesitadas por los temas y los portlets que usen este tema. CSS y JavaScript includes: El cdigo $theme.include($top_head_include) es el encargado de usar el css y js adecuados para el dispositivo cliente: $ {PORTAL_ROOT_HOME}/html/common/themes/top_head.jsp para navegadores normales o $ {PORTAL_ROOT_HOME}/wap/common/themes/top_head.jsp para navegadores moviles. La sentencia $theme.include($bottom_include) incluye el pie de pgina llamando a los componentes $ {PORTAL_ROOT_HOME}/html/common/themes/bottom.jsp o $ {PORTAL_ROOT_HOME}/wap/common/themes/bottom.jsp. Entre los tags </body> y </html> se suelen ejecutar los script js que puedan realizar operaciones despues de la carga de la pgina, como pueden ser Google analitics o similares. Barra de herramientas: El siguiente cdigo:
1 #if($is_signed_in) 2 #dockbar()
3 #end
03 04 <h1 class="company-title"> <a class="logo" href="$company_url" title="#language("go-to") $company_name"> <span>$company_name</span> </a> </h1>
05 06
07 08
11 12 </a>
<span>$community_name</span>
15 16
17 18
19 </header>
Muestra la parte relacionada con la compaia o la comunidad del portal en el que estamos navegando. Mens: El siguiente cdigo:
1 <header id="banner" role="banner"> 2 ...
6 </header>
basado en la plantilla:
3 4
6 </nav>
$theme.include($content_include)
3 #else
$portletDisplay.recycle()
6 7 #end
3 4
5 </footer>
La plantilla portlet.vm muestra el contenido de un portlet y su marco, para cada una de las vistas del portlet (VIEW, EDIT, HELP):
7. Empaquetado
El IDE de eclipse nos realiza la tarea de deploy directamente en el servidor Tomcat, pero si queremos llevarlo a otro servidor, tan solo deberemos comprimir el contenido del directorio "docroot" en un archivo WAR y podriamos desplegarlo en otro servidor.