Liferay 7.3:如何预配置嵌入页面片段中的 portlet?

2024-05-15

我们正在使用 Liferay 7.3 (CE),并尝试将“内容页面”与“页面片段”这一相对较新的功能结合起来。我们能够使用以下方法开发已经包含 portlet(在内容页面的上下文中称为“小部件”)的页面片段:<lfr-widget-WIDGETALIAS>标签。到目前为止,这有效。

现在我们正在尝试准备嵌入 portlet 的页面片段应用了特殊的 portlet 配置。例如,我们想要准备一个页面片段,仅显示一个资产发布者 portlet,该 portlet 配置为列出来自预定义类别的 WebContent 文章。用户应该能够将该片段放到页面上,而不必关心资产发布者 portlet 的配置。

我们没有找到任何直接的方法来实现这一点——我们的第一个猜测是配置可以写为属性或内容<lfr-widget-...>该标签因 liferay 文档中的提示而被阻止,即没有有效的属性或内容可附加到该标签。

有人知道如何通过应用预定义的 portlet 配置在页面片段中嵌入 portlet 吗? (包括开箱即用的 Liferay portlet?)


我自己想出来了。

片段编辑器没有告诉您的一件事是片段的 HTML 部分实际上被解释为 Freemarker 模板,但需要注意的是,仅自由标记者替代语法 https://freemarker.apache.org/docs/dgui_misc_alternativesyntax.html被允许。

反过来,这意味着 Liferays 标签库可用,这意味着我们可以使用标签<liferay-portlet:runtime>(当然,移植到 freemarker 替代语法),它接受defaultPreferences属性。现在我们只需配置 portlet 一次,在数据库中找到它的 portletPreferences XML 数据(参见表 PortletPreferences),删除我们不想预先配置的值,然后使用生成的首选项 XML 作为defaultPreferences的属性<liferay-portlet:runtime> tag.

必须小心任何 ID(例如,如果您想预配置 AssetCategory 过滤器)。最好从相应的服务中获取相应的对象,并从该对象中获取 ID。

此示例提供页面片段的 HTML 部分,该片段将 AssetPublisher 放置到页面上,预配置为显示 12 个项目(而不是默认的 20 个)。 (片段的 CSS、JS 和配置是页面片段编辑器给出的默认值。)

<div class="fragment-12345">
  [#assign assetPublisherPortletPreferences="<portlet-preferences>
    <preference>
        <name>delta</name>
        <value>12</value>
    </preference>
</portlet-preferences>" /]
  [@liferay_portlet["runtime"]
    instanceId="${fragmentEntryLinkNamespace}assets"
    portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet"
    defaultPreferences="${assetPublisherPortletPreferences}"
  /]
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Liferay 7.3:如何预配置嵌入页面片段中的 portlet? 的相关文章

  • Liferay中的Portlet事件通信

    Liferay中的Portlet事件通信在有的项目开发中是需要实现的一种机制 下面转自http liferaycms blogspot com 2011 07 inter portlet communication html Inter p
  • Liferay portlet:从 javascript 重定向到其他 jsp 页面

    我想从 js 重定向到 liferay portlet 中的另一个 jsp 页面 我发现的想法是使用 renderurl 我发现可以帮助我迈出第一步的最佳代码是 a href This render URL link is created
  • Liferay 中 PortalDelegateServlet 的使用

    我正在尝试创建一个与我的应用程序共享liferay会话内容的servlet 所以我需要使用PortalDelegateServlet但我找不到如何将此库导入到我的项目中 我找不到任何 jar 文件或其他内容 如何将 liferay java
  • Liferay 7 无法设置全局会话属性

    我正在尝试设置会话属性 HTTP 或 Portlet 会话 以便我可以全局访问它 通过门户 但是 在获取 Session 属性时 它返回的是 null 而不是实际值 设置会话属性 Component immediate true prope
  • aui 上的 ajax:选择 liferay

    我知道这是不可能将参数从 javascript 传递到 jsp 页面中的 scriptlet 代码 所以我想使用ajax将我选择的值发布到服务器 然后通过请求对象在scriptlet代码中获取它 我用
  • ext 插件在 liferay 6.1.2 jboss7 中不起作用

    我创建了一个外部插件用于扩展 Liferay LDAP默认门户到LDAP转换器 我在 eclipse 中创建了一个 ext 插件 在里面ext impl src main java com liferay portal security l
  • 如何在 Liferay 中检索用户个人资料图片

    我想检索用户个人资料图片 我该怎么做 您能分享一下代码片段吗 我使用 Liferay 6 0 6 它只有 user getPortraitId 而没有 user getPortraitURL 那么一旦我在 JAVA 类中获得了肖像 id 我
  • Eclipse 中的 Liferay 开发 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 覆盖 Liferay 启动事件

    我有一个关于 Liferay 启动事件的问题 Liferay 文档中给出 启动活动 输入扩展的逗号分隔类名列表com liferay portal struts SimpleAction 这些类将在指定事件中运行 有人可以告诉我两者之间有什
  • 集成 Liferay 和 Alfresco

    我使用 Liferay 版本 5 2 3 和 Alfresco Community Edition 我想将 Alfresco 与 Liferay 集成 我想将 Alfresco 显示为 Liferay 中的一个 portlet 有人可以告诉
  • 创建 Liferay portlet 配置页面

    我正在尝试为 Liferay portlet 创建一个配置页面 以便我可以为其设置一些参数 例如 我想选择控制器在查看时应显示哪个页面 配置应位于此处 所以我为配置创建了一个控制器 如下所示 import com liferay porta
  • 在 Liferay-Portlet 中哪里放置资源-操作-映射?

    我正在尝试根据以下内容向 Liferay Portlet 添加权限Liferay 文档 http www liferay com web guest community wiki wiki Main Using 20Liferay s 20
  • 如何在 Liferay 中获取全局(公司)组 ID?

    如何在不访问的情况下获取Liferay中的全局 公司 组IDThemeDisplay PS 与ThemeDisplay很简单 themeDisplay getCompanyGroupId 当你只有一个时Company在您的门户中 Compa
  • 从 Portlet 中删除自定义权限/操作

    我已经能够根据 Liferay Plugins SDK 中的示例定义自定义 portlet 操作 权限 https github com liferay liferay plugins tree master portlets sample
  • 如何在 LIFERAY 中从first.jsp 重定向到second.jsp?

    这怎么办 请帮我解决这个问题 jsp 内部的重定向并不是真正方便的想法 因为下面的 jsp 解析进入渲染阶段 而该阶段的目的是显示内容 另一方面 下面重定向到操作阶段 在这里您可以决定 portlet 接下来应该做什么 阅读本教程以更好地理
  • Hibernate:未配置 CurrentSessionContext

    我不断收到 Hibernate异常 否 CurrentSessionContext已配置 在我的代码中 其他搜索返回的唯一信息是罪魁祸首是
  • Liferay ajax 请求和 JSON 响应

    我是 Liferay 的新人 我使用服务生成器来创建数据库 我手动填充它们 最终我可以使用 JSP 调用它们PersonLocalServiceUtil class 现在我想在我的程序中使用Ajax 例如 有属性的人personID per
  • Freemarker没有分配staticUtil

    我在liferay 6 2上工作了应用程序显示模板 我使用freemarker帮助对liferay的动态数据列表进行分页 当我升级到liferay 7时 这是一个问题 Liferay 7使用代码 lt assign records ddlD
  • 在服务器上部署 .war 文件(Liferay+Tomcat Bundle)

    我已经准备好我的新 Liferay 网站并尝试在真实环境中测试它 我刚刚在我的服务器上成功安装了 Tomcat Liferay 捆绑包 并根据一些论坛和评论的说明将 war 文件复制到 tomcat 旁边的部署目录中 但访问该 URL 后
  • 使用 Liferay 下载大文件 (GB) 时如何修复错误“Java 堆空间”

    我正在使用此代码将 Liferay 6 2 上的服务器上的现有文件下载到本地电脑中 File file getFile diskImage getImageType diskImage getId HttpServletRequest ht

随机推荐

  • Safari 中的 javascript 页面刷新

    我正在尝试弄清楚如何使用 javascript 刷新 Safari 5 1 中的页面 但似乎没有任何效果 到目前为止 我已经尝试过 窗口 位置 href 窗口 位置 href 窗口位置 窗口位置 href window location r
  • 没有导出的成员/节点模块

    我刚刚开始使用 5 分钟快速入门找到的 Angular 2 Typescripthere https angular io docs ts latest quickstart html 我遇到了一个看起来很常见的问题 但可能有点不同 我遇到
  • 触发“对等方重置连接”

    我想测试当发生 对等方重置连接 错误时我们的应用程序 嵌入式 ftp 服务器 中发生的日志记录 这个帖子 https stackoverflow com questions 1434451 connection reset by peer很
  • 多行 C# 正则表达式在空行后匹配

    我正在寻找一个多行正则表达式 它将匹配空行后出现的情况 例如 给定下面的示例电子邮件 我想匹配 发件人 Alex From s 可以匹配任何 From 行 但我希望它仅限于正文中的行 第一个空白行之后的任何行 Received from a
  • python 插入与追加

    我编写了基本的 python 代码片段 首先将值插入列表中 然后反转它们 我发现插入和追加方法之间的执行速度存在巨大差异 片段 1 L for i in range 10 5 L append i L reverse 执行此操作所需的时间
  • Springfox - 如果不在控制器中使用 POJO,是否可以通过注释记录 POJO

    正如标题所说 如果 POJO 未在控制器方法中使用 是否可以在 swagger 文档中包含 POJO 我尝试在 POJO 类上使用 ApiModel 注释 即 ApiModel POJO public class Pojo 但是 除非 PO
  • redis 2.8.7 Linux Sentinel环境配置问题,如何使其自启动,应该订阅什么?

    现在我们尝试使用 redis 2 8 7 作为缓存存储 来自使用 booksleeve 客户端的 NET Web 应用程序 目前看来这是一个非常有趣和令人兴奋的任务 redis 文档非常好 但由于缺乏真正的实践经验 我确实有几个关于如何正确
  • 在 JDeveloper 中创建应用程序服务器连接时出错

    背景 我使用安装了 SOA 的 Oracle JDeveloper Studio 作为我的 IDE 在 JDeveloper 中 我想创建到远程 Weblogic 服务器的连接 The remote服务器运行在我的本地计算机上 我将其称为远
  • 将表行从 Word 文档复制到现有文档表特定单元格

    我正在寻找一个宏 它将内容从一个 Word 文档中的表格复制到另一个现有 Word 文档中的表格到特定单元格中 从第 5 行开始 复制后面的所有行并将其粘贴到现有文档中的第 5 行 这可能吗 在此输入图像描述 https i stack i
  • 为什么 pandas.to_datetime 对于非标准时间格式(例如“2014/12/31”)很慢

    我有一个这种格式的 csv 文件 timestmp p 2014 12 31 00 31 01 9200 0 7 2014 12 31 00 31 12 1700 1 9 当通过阅读时pd read csv并将时间字符串转换为日期时间使用p
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • 树的递归和非递归过程

    我们知道树是递归数据结构 我们在编写树的过程中使用递归 例如BST的删除方法等 递归的好处是 我们的程序变得非常小 例如中序遍历的代码只有4或5行 而不是非递归程序 虽然会很长 但从理解的角度来看 不像递归程序那么复杂 这就是为什么我讨厌递
  • 横向旋转到纵向时的字体大小怪异 - CSS 媒体查询 - iPhone5 Safari

    我已经用谷歌搜索了这个 但无法弄清楚 谢谢你的帮助 Studiolynch com 响应式和流体布局 在 iphone 5 Safari 中完美运行 除了从横向模式旋转到纵向模式会使字体大小小于应有的大小 但是 如果您最初以纵向模式加载页面
  • Fullcalendar 不显示 15 分钟时段的轴时间

    我将全日历设置为有 15 分钟时段 但它没有显示分钟突破 例如 它将显示上午 9 点 上午 10 点 上午 11 点等 但不显示上午 9 点 上午 9 15 上午 9 30 等 它显示了其他时段的分钟突破 例如 10 分钟 但我无法让它工作
  • 无论如何要解密加密的sql server存储过程吗?

    我有几个 ms sql server 2000 存储过程 很久以前就被前雇员加密了 一切都很好 直到我们需要稍微改变一下 有什么方法可以检索源代码吗 或者重写是唯一的选择 多谢 或者免费 谷歌是你的朋友 http searchsqlserv
  • 使用仅具有 CA 证书且无密钥库的 SSLContext

    我需要设置一个javax net ssl SSLContext用于 Jersey Client 应用程序 我想要做的就是接受自定义根 ca 证书的上下文 真的没有办法生成密钥库文件并导入 CA 证书吗 确实没有办法生成密钥库 文件并导入CA
  • http模块和express模块​​有什么区别?

    我正在学习 NodeJs http www tutorialspoint com nodejs http www tutorialspoint com nodejs 我无法理解使用 http 模块 get post 方法 与使用expres
  • 在 httpclient 中,将 HttpEntity 转换为字符串的最优雅/正确的方法是什么?

    我正在使用以下方式获取网页Apache httpcomponents Java 库 http hc apache org 连接后我得到的结果是HttpEntity http hc apache org httpcomponents core
  • Liferay 7.3:如何预配置嵌入页面片段中的 portlet?

    我们正在使用 Liferay 7 3 CE 并尝试将 内容页面 与 页面片段 这一相对较新的功能结合起来 我们能够使用以下方法开发已经包含 portlet 在内容页面的上下文中称为 小部件 的页面片段