Search code examples
liferay-6

Programmatically set the default layout in Liferay


I'm working on Liferay 6.1 bundled with Tomcat 7.0. I've created my own layout using the liferay plugin. It looks like:

<div class="MyLayout" id="main-content" role="main">
<div class="portlet-layout">
    <div class="portlet-column portlet-column-only" id="column-1">
        $processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")
    </div>
</div>
<div class="portlet-layout">
    <div class="portlet-column portlet-column-only" id="column-2">
        $processor.processColumn("column-2", "portlet-column-content portlet-column-content-only")
    </div>
</div>
<div class="portlet-layout">
    <div class="aui-w25 portlet-column portlet-column-first" id="column-3">
        $processor.processColumn("column-3", "portlet-column-content portlet-column-content-first")
    </div>
    <div class="aui-w75 portlet-column portlet-column-last" id="column-4">
        $processor.processColumn("column-4", "portlet-column-content portlet-column-content-last")
    </div>
</div>

I want to programmatically set this layout as default layout for all pages. How can I achieve this ? Any valuable suggestions will be appreciated.


Solution

  • You can set the default layout by configuration of liferay. Create a portal-ext.properties in the bundles-folder and put this two properties for default layout:

    layout.default.template.id = MyLayout
    default.layout.template.id = MyLayout
    

    You must set both properties, else the portal throws exception by startup.

    PS: Ask me, if this solution isn't for you, and you want realy to set the layout programmaticaly.