Fórumok

[SOLVED] is this possible in a layout template?

Sidney Gijzen, módosítva 13 év-val korábban

[SOLVED] is this possible in a layout template?

New Member Bejegyzések: 4 Csatlakozás dátuma: 2011.03.04. Legújabb bejegyzések
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?

-----------------------------------
|                     |           |
|                     |           |
|                     |           |
|                     |           |
|                     |           |
----------------------|           |
|      |              |           |
|      |              |           |
|      |              |           |
|      |              |           |
|      |              |           |
|      |              |           |
-----------------------------------

Thank you in advance!
thumbnail
Olaf Kock, módosítva 13 év-val korábban

RE: is this possible in a layout template?

Liferay Legend Bejegyzések: 6403 Csatlakozás dátuma: 2008.09.23. Legújabb bejegyzések
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
$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, módosítva 13 év-val korábban

RE: is this possible in a layout template?

New Member Bejegyzések: 4 Csatlakozás dátuma: 2011.03.04. Legújabb bejegyzések
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

$processor.processColumn("column-2", "portlet-column-content")

is only used for columns?
thumbnail
Maarten van Heiningen, módosítva 13 év-val korábban

RE: is this possible in a layout template?

Regular Member Bejegyzések: 174 Csatlakozás dátuma: 2009.02.05. Legújabb bejegyzések
Hi Sidney,

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



<div class="columns-4" id="main-content" role="main">
	<div class="portlet-layout">
		<div class="aui-w70 portlet-column portlet-column-first" id="column-left">
			<div class="aui-w100 portlet-column portlet-column-first" id="column-1">
				$processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
			</div>
			<div class="aui-w30 portlet-column portlet-column" id="column-2">
				$processor.processColumn("column-2", "portlet-column-content portlet-column-content")
			</div>
			<div class="aui-w70 portlet-column portlet-column-first" id="column-3">
				$processor.processColumn("column-3", "portlet-column-content portlet-column-content")
			</div>
		</div>
		<div class="aui-w30 portlet-column portlet-column-last" id="column-4">
			$processor.processColumn("column-4", "portlet-column-content portlet-column-content-last")
		</div>
	</div>
</div>
Sidney Gijzen, módosítva 13 év-val korábban

RE: is this possible in a layout template?

New Member Bejegyzések: 4 Csatlakozás dátuma: 2011.03.04. Legújabb bejegyzések
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

---------------------------------------
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
|                 |   |    |          |
---------------------------------------


Right now, I modified it into this

<div class="ace_layout_3" id="main-content" role="main">
    <div class="portlet-layout">
        <div class="aui-w70 portlet-column portlet-column-first" id="column-left">
            <div class="aui-w100 portlet-column portlet-column-first" id="column-1">
                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
            </div>
            <div class="portlet-layout">
                <div class="aui-w100 portlet-column portlet-column" id="column-left-inside">
	                <div class="aui-w30 portlet-column portlet-column" id="column-2">
	                    $processor.processColumn("column-2", "portlet-column-content portlet-column-content")
	                </div>
	                <div class="aui-w70 portlet-column portlet-column-first" id="column-3">
	                    $processor.processColumn("column-3", "portlet-column-content portlet-column-content")
	                </div>
	        	</div>
	        </div>
        </div>
        <div class="aui-w30 portlet-column portlet-column-last" id="column-4">
            $processor.processColumn("column-4", "portlet-column-content portlet-column-content-last")
        </div>
    </div>

</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?
thumbnail
Maarten van Heiningen, módosítva 13 év-val korábban

RE: is this possible in a layout template?

Regular Member Bejegyzések: 174 Csatlakozás dátuma: 2009.02.05. Legújabb bejegyzések
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, módosítva 13 év-val korábban

RE: is this possible in a layout template?

New Member Bejegyzések: 4 Csatlakozás dátuma: 2011.03.04. Legújabb bejegyzések
@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, módosítva 13 év-val korábban

RE: is this possible in a layout template?

New Member Bejegyzés: 1 Csatlakozás dátuma: 2011.03.29. Legújabb bejegyzések
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, módosítva 11 év-val korábban

RE: is this possible in a layout template?

New Member Bejegyzések: 2 Csatlakozás dátuma: 2013.01.18. Legújabb bejegyzések
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
thumbnail
Olaf Kock, módosítva 13 év-val korábban

RE: is this possible in a layout template?

Liferay Legend Bejegyzések: 6403 Csatlakozás dátuma: 2008.09.23. Legújabb bejegyzések
Sidney Gijzen:
I assumed that

$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.