如何为 liferay 7.0 创建简单的数据展示 portlet?

How to create simple data presentation portlet for liferay 7.0?

我需要为新版本的 liferay 创建简单的数据呈现 portlet,但找不到合适的方法。

我使用服务构建器创建了后端,并添加了用于列出、添加等的自定义方法。根据本教程[https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/updating-the-view]创建了 mvc portlet,它可以工作,但存在一些问题: - 它基于已弃用的 alloyUI,我不想将其移动到 soy/metal.js(对它们没有任何经验), - 结果 table 应该具有 sorting/filtering 功能,服务器端可能是因为它必须与 WCAG 兼容,所以我不想保持 html 和 js 尽可能干净。

如果我理解正确,我需要将下面的这部分替换为适用于 metal.js 和 soy 的部分?

<liferay-ui:search-container total="<%=EntryLocalServiceUtil.getEntriesCount()%>">
<liferay-ui:search-container-results
    results="<%=EntryLocalServiceUtil.getEntries(scopeGroupId.longValue(),
                    guestbookId, searchContainer.getStart(),
                    searchContainer.getEnd())%>" />    
<liferay-ui:search-container-row
    className="com.liferay.docs.guestbook.model.Entry" modelVar="entry">    
    <liferay-ui:search-container-column-text property="message" />    
    <liferay-ui:search-container-column-text property="name" />    
</liferay-ui:search-container-row>    
<liferay-ui:search-iterator />    
</liferay-ui:search-container>

sorting/filtering在liferay-7.0中是如何实现的?我必须使用管理栏还是允许用户按列排序(单击列 header)。

我不会更改代码。您使用的不是 AlloyUI,而是 Liferay UI 标签,它们目前恰好使用 AlloyUI,但最终会切换到 Metal。

如果您想继续使用服务器端渲染,我不会浪费精力重新开发搜索容器。它现在应该可以正常工作,将来也可以。

搜索容器应该支持排序。您只需要在列中指出它,但过滤更加棘手。 Liferay 搜索多于过滤。