掲示板

[SOLVED] is this possible in a layout template?

13年前 に Sidney Gijzen によって更新されました。

[SOLVED] is this possible in a layout template?

New Member 投稿: 4 参加年月日: 11/03/04 最新の投稿
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
13年前 に Olaf Kock によって更新されました。

RE: is this possible in a layout template?

Liferay Legend 投稿: 6403 参加年月日: 08/09/23 最新の投稿
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.
13年前 に Sidney Gijzen によって更新されました。

RE: is this possible in a layout template?

New Member 投稿: 4 参加年月日: 11/03/04 最新の投稿
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
13年前 に Maarten van Heiningen によって更新されました。

RE: is this possible in a layout template?

Regular Member 投稿: 174 参加年月日: 09/02/05 最新の投稿
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>
13年前 に Sidney Gijzen によって更新されました。

RE: is this possible in a layout template?

New Member 投稿: 4 参加年月日: 11/03/04 最新の投稿
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
13年前 に Maarten van Heiningen によって更新されました。

RE: is this possible in a layout template?

Regular Member 投稿: 174 参加年月日: 09/02/05 最新の投稿
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
13年前 に Sidney Gijzen によって更新されました。

RE: is this possible in a layout template?

New Member 投稿: 4 参加年月日: 11/03/04 最新の投稿
@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!
13年前 に Oleksandr Kiricheiko によって更新されました。

RE: is this possible in a layout template?

New Member 投稿: 1 参加年月日: 11/03/29 最新の投稿
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
11年前 に pham tung によって更新されました。

RE: is this possible in a layout template?

New Member 投稿: 2 参加年月日: 13/01/18 最新の投稿
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
13年前 に Olaf Kock によって更新されました。

RE: is this possible in a layout template?

Liferay Legend 投稿: 6403 参加年月日: 08/09/23 最新の投稿
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.