calendar - Liferay:在列表页面中显示日历事件的相关资源

标签 calendar liferay

我正在努力定制 liferay 的日历 portlet,并为此创建了一个钩子(Hook)。

我想直接在列表页面本身中显示与日历事件关联的所有“相关 Assets ”,其中显示所有事件,而不是事件的详细信息 View 页面。

目前liferay仅在我们点击事件查看该事件的详细信息时才显示“相关 Assets ”。

enter image description here

有人可以帮助我吗?

环境:Liferay 6.1

非常感谢 萨布丽娜

最佳答案

我假设您已经拥有 liferay 的源代码并且知道如何创建钩子(Hook)。

您要修改的 JSP 将位于此路径中:

portal-web/docroot/html/portlet/calendar

以下是帮助您解决疑问的一些步骤:

  1. 您需要修改event_iterator.jspf :row.addText(event.getTitle(), rowURL);
  2. 您必须调整以下取自 view_event.jsp 的代码在event_iterator.jspf .

    <% 
    AssetEntry layoutAssetEntry = AssetEntryLocalServiceUtil.getEntry(CalEvent.class.getName(), event.getEventId());
    %>
    
    <%-- <liferay-util:buffer> is a tag which stores all that is written inside
         its body in a single variable string, in this case "relatedAssetsLinksBuffer"
    --%>
    
    <liferay-util:buffer var="relatedAssetsLinksBuffer">
        <c:if test="<%= enableRelatedAssets %>">
                <%=event.getTitle() %>
            <div class="entry-links">
                <liferay-ui:asset-links
                    assetEntryId="<%= layoutAssetEntry.getEntryId() %>"
                />
            </div>
        </c:if>
    </liferay-util:buffer>
    
  3. 现在第 1 步中的行变为:row.addText(relatedAssetsLinksBuffer, rowURL);

我还没有尝试过这个,但我认为它会起作用或者至少会为您解决查询提供一些帮助。

Hooks 提示(将来可能有用): Liferay 遵循存储其 JSP 的约定,因此对于自定义 jsps Hook (即为修改 liferay 的 JSP 创建的 Hook ),您只需搜索该特定 JSP 并修改它。

例如:您想要修改日历 portlet 的第一页。因此,liferay portlet 的首页始终是 view.jsp,位于与 portlet 名称同名的文件夹中,在本例中为“Calendar”,view.jsp 将包含一些标签,如 <%@ include /><liferay-util:include />其中将包含其他文件来显示内容。因此,您始终可以从 view.jsp 开始并继续前进。顺便说一句,JSP 的名称大多数时候也是不言自明的。

希望这有帮助。

关于calendar - Liferay:在列表页面中显示日历事件的相关资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638806/

相关文章:

node.js - 当 Google 日历事件更改时更新数据库

java - 如何在 IDEA 中构建 .war 文件以部署到 Liferay?

java - 尝试使用日历对象获取特定月份的天数

javascript - 使用日历在产品页面上的 magento 中出现 "TypeError: triggerElement is null "错误

sql - 如何通过自定义插件portlet中的custom-finder获取liferay实体?

java - 无法为对象堆 liferay tomcat 保留足够的空间

java - RedHat 上的 tomcat 6 内存不足,但在 debian 中没有

javascript - AUI 自动字段作为 liferay 6.2 中的标签

Java 日历时区

java - 日历小时设置为 0,却显示 1,为什么?