The layout of a portlet is handled by a set of JSP in the portal-core web-app which is part of the jboss-portal.sar. In the web-inf direcotry have a look at
portal-layouts.xml to see how various layouts are configured. The following is a snippet (self explainatory):
<layouts> <layout> <name>rbs-1column</name> <uri>/layouts/mylayout/index.jsp</uri> <uri state="maximized">/layouts/mylayout/maximized.jsp</uri> <regions> <region name="regionBody"/> </regions> </layout> </layouts>
You can make changes to these JSPs and the
portal-layouts.xml. Alternatively (recommended), create you own theme in a separate web app (war file) and change the following config in
jboss-portal.sar/META-INF/jboss-service.xml. You need to change the fillowing lines:
- Change layout context path:
- Change path to header jsp:
- Change path to tabs (navigation) jsp:
The new war file will need to have access to the to portal lib tag-libs. These can be found at jboss-portal.sar/portal-core.war/WEB-INF. Your layout JSP specified as “url” in the portal-layouts.xml will need to include the following directives:
- In the html header: <p:theme themeName=”mytheme”/>, <p:headerContent/>. See http://java.dzone.com/articles/jboss-portal for a guide on creating custom themes.
- In the body: <p:region regionName=’regionBody’ regionID=’regionBody’ />. This will need to be added for all the regions defined in the portal-layout.xml for this particular layout.
Note: Theme and layouts can be specified in the portal page deployment descriptor (see property