Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Sidney Gijzen
[SOLVED] is this possible in a layout template?
March 7, 2011 1:37 AM
Answer

Sidney Gijzen

Rank: New Member

Posts: 4

Join Date: March 4, 2011

Recent Posts

Hello,

Liferay newbie here emoticon. I've been exploring and working with the Liferay for a week now. I received a few layout designs from our designer, and since I've been struggling for a day now, I was wondering if the layout below is possible. If so, could you provide with a few pointers on how to tackle this problem?
 1
 2-----------------------------------
 3|                     |           |
 4|                     |           |
 5|                     |           |
 6|                     |           |
 7|                     |           |
 8----------------------|           |
 9|      |              |           |
10|      |              |           |
11|      |              |           |
12|      |              |           |
13|      |              |           |
14|      |              |           |
15-----------------------------------

Thank you in advance!
Olaf Kock
RE: is this possible in a layout template?
March 5, 2011 9:05 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3434

Join Date: September 23, 2008

Recent Posts

The short answer is yes, you can. You have to come up with the HTML div-structure that can do this. AFAIK the graphical editor in Liferay-IDE and DeveloperStudio can't do that, but the underlying HTML is quite simple. You need to embed instructions like
1$processor.processColumn("column-2", "portlet-column-content")
and maybe some classes. If you're working in Liferay IDE or DevStudio: Start with a template as close as possible to what you want and then continue to change this in the HTML source to mimic the structure that you need.
Sidney Gijzen
RE: is this possible in a layout template?
March 6, 2011 10:51 PM
Answer

Sidney Gijzen

Rank: New Member

Posts: 4

Join Date: March 4, 2011

Recent Posts

Olaf,

Thank you for your reply. I was indeed a bit confused by the Liferay-IDE, since it constantly was assuming that the columns were next to eachother instead of "columns in columns".

Another thing I perhaps overlooked; how do you define rows in Liferay layouts? Since I assumed that
1
2$processor.processColumn("column-2", "portlet-column-content")

is only used for columns?
Maarten van Heiningen
RE: is this possible in a layout template?
March 6, 2011 11:52 PM
Answer

Maarten van Heiningen

Rank: Regular Member

Posts: 173

Join Date: February 5, 2009

Recent Posts

Hi Sidney,

You can easily do this by making a a layout like this:


 1
 2<div class="columns-4" id="main-content" role="main">
 3    <div class="portlet-layout">
 4        <div class="aui-w70 portlet-column portlet-column-first" id="column-left">
 5            <div class="aui-w100 portlet-column portlet-column-first" id="column-1">
 6                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
 7            </div>
 8            <div class="aui-w30 portlet-column portlet-column" id="column-2">
 9                $processor.processColumn("column-2", "portlet-column-content portlet-column-content")
10            </div>
11            <div class="aui-w70 portlet-column portlet-column-first" id="column-3">
12                $processor.processColumn("column-3", "portlet-column-content portlet-column-content")
13            </div>
14        </div>
15        <div class="aui-w30 portlet-column portlet-column-last" id="column-4">
16            $processor.processColumn("column-4", "portlet-column-content portlet-column-content-last")
17        </div>
18    </div>
19</div>
Sidney Gijzen
RE: is this possible in a layout template?
March 7, 2011 12:29 AM
Answer

Sidney Gijzen

Rank: New Member

Posts: 4

Join Date: March 4, 2011

Recent Posts

Hello Maarten,

Thank you for your suggestion!
You pushed me into the right direction, but unfortunately it doesn't do what I was aiming for. It results in the following picture
 1
 2---------------------------------------
 3|                 |   |    |          |
 4|                 |   |    |          |
 5|                 |   |    |          |
 6|                 |   |    |          |
 7|                 |   |    |          |
 8|                 |   |    |          |
 9|                 |   |    |          |
10|                 |   |    |          |
11---------------------------------------


Right now, I modified it into this
 1
 2<div class="ace_layout_3" id="main-content" role="main">
 3    <div class="portlet-layout">
 4        <div class="aui-w70 portlet-column portlet-column-first" id="column-left">
 5            <div class="aui-w100 portlet-column portlet-column-first" id="column-1">
 6                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
 7            </div>
 8            <div class="portlet-layout">
 9                <div class="aui-w100 portlet-column portlet-column" id="column-left-inside">
10                    <div class="aui-w30 portlet-column portlet-column" id="column-2">
11                        $processor.processColumn("column-2", "portlet-column-content portlet-column-content")
12                    </div>
13                    <div class="aui-w70 portlet-column portlet-column-first" id="column-3">
14                        $processor.processColumn("column-3", "portlet-column-content portlet-column-content")
15                    </div>
16                </div>
17            </div>
18        </div>
19        <div class="aui-w30 portlet-column portlet-column-last" id="column-4">
20            $processor.processColumn("column-4", "portlet-column-content portlet-column-content-last")
21        </div>
22    </div>
23
24</div>

It adds in the second row, but it still tries to push columns in between the uppers two ones (like in the sketch).

Am I going into the right direction, when using a second portlet-layout in order to achieve the second row of 30/70 columns?
Olaf Kock
RE: is this possible in a layout template?
March 7, 2011 12:32 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3434

Join Date: September 23, 2008

Recent Posts

Sidney Gijzen:
I assumed that
1
2$processor.processColumn("column-2", "portlet-column-content")

is only used for columns?


"processColumn" is rather a misnomer for processing a "cell" or consecutive area of stacked portlets.
Maarten van Heiningen
RE: is this possible in a layout template?
March 7, 2011 12:33 AM
Answer

Maarten van Heiningen

Rank: Regular Member

Posts: 173

Join Date: February 5, 2009

Recent Posts

Hi Sidney

You can set the correct width's using css in your theme.

It should be fine then.

Positioning the three columns column-1, column-2 and column-3 by using display: inline-block and maybe a float: left in combination with position relative should work for you.

Maarten
Sidney Gijzen
RE: is this possible in a layout template?
March 7, 2011 1:36 AM
Answer

Sidney Gijzen

Rank: New Member

Posts: 4

Join Date: March 4, 2011

Recent Posts

@Olaf: Thanks for the explanation!

@Maarten: Aha! OK, I will fiddle with the CSS. Thanks!


EDIT: I got the template working. Thanks again to Olaf and Maarten!
Maarten's layout example with his CSS clues worked perfectly!
Oleksandr Kiricheiko
RE: is this possible in a layout template?
March 29, 2011 5:37 AM
Answer

Oleksandr Kiricheiko

Rank: New Member

Posts: 1

Join Date: March 29, 2011

Recent Posts

Can you, please, explain what exactly did you do to make and use your layout?
Write, please, the final code for your layout. It would be very useful for me.
Thanks
pham tung
RE: is this possible in a layout template?
January 24, 2013 6:41 PM
Answer

pham tung

Rank: New Member

Posts: 2

Join Date: January 17, 2013

Recent Posts

Can you, please, explain what exactly did you do to make and use your layout?
Write, please, the final code for your layout. It would be very useful for me.
Thanks