javascript - Liferay 6.2 - 从客户端加载 portlet

标签 javascript liferay-6.2

我使用 Liferay 6.2 作为我的门户平台。我的问题是是否有办法通过ajax加载portlet?仅提供 portlet ID。

例如

这是 portlet 信息:

<portlet>
    <portlet-name>my_portlet</portlet-name>
    <instanceable>false</instanceable>
    <private-session-attributes>false</private-session-attributes>
    <header-portlet-javascript>/js/my_portlet/app.js</header-portlet-
</portlet>

<portlet>
    <portlet-name>my_portlet</portlet-name>
    <display-name>My Portlet</display-name>
    <portlet-class>com.ui.portlets.generic.GenericPortlet</portlet-class>
    <init-param>
        <name>view-template</name>
        <value>/view.jsp</value>
    </init-param>
    <expiration-cache>0</expiration-cache>
    <supports>
        <mime-type>text/html</mime-type>
    </supports>
    <portlet-info>
        <title>myportlet</title>
    </portlet-info>
</portlet>

我想从客户端(通过 javascript)获取渲染 html portlet 及其所有参数和包含的文件?

最佳答案

这不是一个干净的方式,但我不知道其他任何事情。

有一个叫做小部件 URL 的东西。

您可以通过任何 portlet 的配置来获取它。

enter image description here

现在将此 URL 加载到 iFrame 中。您将实现在不刷新页面的情况下加载 protlet 的目标。

这是一些示例片段。

window.Liferay = window.Liferay || {};

Liferay.Widget = function(options) {
    options = options || {};

    var id = options.id || '_Liferay_widget'
            + (Math.ceil(Math.random() * (new Date).getTime()));
    var height = options.height || '100%';
    var url = options.url
            || 'http://www.liferay.com/widget/web/guest/community/forums/-/message_boards';
    var width = options.width || '100%';

    var html = '<iframe frameborder="0" height="' + height + '" id="' + id
            + '" src="' + url + '" width="' + width + '"></iframe>';
    return html;
}

关于javascript - Liferay 6.2 - 从客户端加载 portlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43306016/

相关文章:

javascript - 覆盖响应性 Bootstrap 3 @media print

javascript - React native - 对象作为 React 子对象无效(找到 : object with keys {$$typeof, 类型、键、引用、 Prop 、_owner、_store})

javascript - 如果脚本文件放置在外部,则无法获取 ${findState} 值

java - ClassNotFoundException : net. htmlparser.jericho.来源:新闻通讯

java - 主题 : No bean named 'com.colors.themes.service.ColorLocalService' is defined 中的 Liferay 访问数据库表

javascript - 反斜杠 - 正则表达式 - Javascript

javascript - 如何向表添加键

gradle - 不正确的 liferay-plugins 依赖

java - Hook Portlet 项目

javascript - 直接从应用程序中删除mac electronic应用程序时如何清除用户数据?