Saturday, 6 October 2012

How to Embed a portlet inside dialog iframe in Velocity Template

<script type="text/javascript">

AUI().ready('aui-dialog','aui-dialog-iframe','liferay-portlet-url', function(A) {
    A.one('#wikiButton').on('click', function() {
        var url = Liferay.PortletURL.createRenderURL();
        url.setPortletId("2_WAR_knowledgebaseportlet");
        url.setWindowState('pop_up');
        window.myDialog = new A.Dialog(
            {
                title: 'KnowledgeBase Articles',
                width: 800,
                xy: [280, 80],
                modal:true,
            }
        ).plug(
            A.Plugin.DialogIframe,
            {
                uri: url.toString(),
                iframeCssClass: 'dialog-iframe'
            }
        ).render();
    });
});

</script>
<div class="wikiBtn">
    <input id="wikiButton" type="Button" value="View Wikis" />
</div>

NOTE: Below changes required.
1. In portal-ext.properties we need to add the portlet in whitelist
portlet.add.default.resource.check.whitelist=3,56_INSTANCE_0000,58,82,86,87,103,113,145,164,166,170,177,2_WAR_knowledgebaseportlet
2.In liferay-portlet.xml we need to add <add-default-resource>true</add-default-resource> if this is not available.

1 comment: