Reputation: 5063
I'm new to portlet development and currently learning liferay.
I would like to ask what's the best approach to create a webpage, for example with the usual requirement of: 1.) has header 2.) has left side widgets 3.) has footer 4.) right of left side is content
I'm currently confused with portlet right now, as far as I understand portlet is stand-alone and would not be able to change other part of the page. So for example I have a portlet in the left side that has links, if I click it how will I show dynamic content in the right content?
Also if I have a menu in the top of the page, currently I added the many as portlet page from liferay. The problem is I have to add in each portlet, the elements in the left and the foot? Is there an easy way to do it?
Thanks,
czetsuya
Upvotes: 1
Views: 1429
Reputation: 2193
In order to do this, you can create the page layouts, the page layouts are actually skeletons, which is used as a base template
You can create a page layout, select a layout template, theme, color-scheme, add portlets, configure them.
Whenever you want to create a new page, just select a page layout and your new page has all the configurations that you did for page layouts.
This is very helpful when you are creating sites with heavy contents.
Upvotes: 1
Reputation: 1568
You should probably ask those questions as separate, yet I'll try to answer both of them
1. Portlet communication
There are quite a many ways to exchange data between portlets. These are probably the most common, useful and correct (yet there are more I can think of and probably more one would be able to come up with for a very specific requirement):
The specific case of showing content in one portlet based on the actions on another portlet you mentioned is quite common and Public Render Parameters are best suited for this. It can be observed in Liferay's native Asset Publisher + Navigation (Tag, Category) portlets.
2. Layout templates
The requirement you described is solved by layout templates in Liferay. There are quite a few of them bundled in Liferay, which in sinergy with Nested Portlets portlet allow you to model many complex page layouts. You can set layout templates per page, there is a link for selecting them in top bar (for administrative users). You can also create your own custom layout templates in which you can embed portlets. Once again, please search the web for liferay embed portlet and liferay layout templates - there is a lot of easy to find, elaborated information on those two topics (which cannot be said about every liferay development related topic).
Upvotes: 2