Muchas veces nos encontramos con el problema de que tenemos un Tema de apariencia y unas Layouts específicamente creadas para él pero que, sin embargo, se generan como un pluign más independiente. Esto provoca problemas a la hora de saber que Layouts corresponden con qué Theme debido a que podemos tener muchos Themes y Layouts.
Lo que vamos a hacer es conseguir que ,simplemente con desplegar un Tema de apariencia, automáticamente depliege todas las layouts que le corresponden y todo en un solo plugin.
Para ello debemos hacer lo siguiente:
- Dentro del Tema de apariencia debemos crear un archivo como el siguiente: "_diffs\WEB-INF\liferay-look-and-feel.xml"
- Dentro del Tema de apariencia debemos crear una carpeta como la siguiente: "_diffs\WEB-INF\layouttpl\custom\" . En esta carpeta es donde dejaremos nuestras layouts asociadas al Tema.
- Dentro de la carpeta "_diffs\WEB-INF\layouttpl\custom\" creamos una carpeta con el nombre de la layout, por ejemplo: "_diffs\WEB-INF\layouttpl\custom\columns-3-layouttpl".
- En la carpeta anterior djaremos los 3 archivos que componen la layout:
- Miniatura: columns_3.png
- Layout: columns_3.tpl
- LayoutWap: columns_3.wap.tpl
- Por último debemos modificar el archivo "liferay-look-and-feel.xml" con lo siguiente:
<layout-templates> <custom> <layout-template id="columns_3" name="3 Columns 25x50x25"> <template-path>/layouttpl/custom/columns-3-layouttpl/columns_3.tpl</template-path> <wap-template-path>/layouttpl/custom/columns-3-layouttpl/columns_3.wap.tpl</wap-template-path> <thumbnail-path>/layouttpl/custom/columns-3-layouttpl/columns_3.png</thumbnail-path> </layout-template> </custom> </layout-templates>
En resumen, lo que hemos hecho es crear una carpeta dentro del theme, dejar ahi los layouts asociados al tema y luego configurar las rutas mediante el archivo look-and-feel.xml