Liferay – Simple Theme Development

Indeed, Liferay has come a long way with its 6.1 version, that fully supports JSF and IceFaces. I’m still trying to learn the ropes of it as I aim to have it the standard collaboration tool in our team.

Good Software Application solve problems, but great ones not just solves the problem, but intuitively give users the look and feel of the solvable problem. Applications are usually themed to match of its purpose and value. The twitter application has little bird icons, same as its name and its purpose. Facebook’s simplistic approach made the users visit their site on daily basis because the site’s look and feel is pretty straight forward.

What’s good about Liferay is that all of its components, from themes, portlets to extensions and hooks are all customizable and injectable – injectable meaning that developers can create the components independently and plug it. Themes is not an exception:

Download the Liferay Eclipse Plugin

Go to > Help > Eclipse Marketplace > Search for “Liferay”

Once installed, Liferay Tool bar should be displayed.

Note: Install the LiferaySDK and Liferay Portal Instance with the chosen Application Server (I used the lightweight one, Liferay bundled with Tomcat).

Create the Theme on your sketch pad first (plan it)

Not a sketch, but I did pull out a template from

A simple bar, content bar and menu / navigation bar should do it. Now to create the actual project and use the theme, go to the next step below.

Create the Theme Project

New > Project > Liferay Portal > Choose Themes

Creating a new project will generate default sources, folders: css, images, js and templates. Now, an important note to this one, these are not the files that you need to edit. I personally use it as my reference.

Re-create these folders under the _diffs directory. This is where the theme development begins.

  • CSS: create a custom.css file on the CSS directory under _diffs
  • VM: Create a portal_normal.vm file under templates of _diffs

Paste the source code of these respectively. portal_normal.vm and custom.vm


Test, Hit Right Click Project > Liferay > SDK > Deploy Target

Test Locally

Login > Go To Pages > Site Pages and Choose the Theme!

Your theme is now ready!

Download the Project here.

Reference: Liferay – Simple Theme Development from our JCG partner Alvin Reyes at the Alvin “Jay” Reyes Blog blog.

Related Whitepaper:

Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions

Get ready to program in a whole new way!

Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.

Get it Now!  

Leave a Reply

seven × = 56

Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.

Sign up for our Newsletter

20,709 insiders are already enjoying weekly updates and complimentary whitepapers! Join them now to gain exclusive access to the latest news in the Java world, as well as insights about Android, Scala, Groovy and other related technologies.

As an extra bonus, by joining you will get our brand new e-books, published by Java Code Geeks and their JCG partners for your reading pleasure! Enter your info and stay on top of things,

  • Fresh trends
  • Cases and examples
  • Research and insights
  • Two complimentary e-books