Liferay 如何在WebContent portlet中隐藏空部分

Liferay 如何在WebContent portlet中隐藏空部分,liferay,portlet,Liferay,Portlet,我们正在用3种语言创建一个网站。我们在框中显示一些Web内容,使用“外观/高级样式”提供边框。portlet标题在portlet的外观中定义 如果没有一种语言的文本,我们希望不显示框 有人能帮我们吗 提前感谢, 我相信这与您要查找的内容非常接近(除非您想隐藏元素服务器端) (因为它在Liferay而不是jQuery中可用)答案与此类似(包含简单的演示代码): 这不是空的 AUI().use(函数(A){ A.all(“div:empty”).hide(); }); 一个更优雅的服务器端选项是

我们正在用3种语言创建一个网站。我们在框中显示一些Web内容,使用“外观/高级样式”提供边框。portlet标题在portlet的外观中定义

如果没有一种语言的文本,我们希望不显示框

有人能帮我们吗

提前感谢,

我相信这与您要查找的内容非常接近(除非您想隐藏元素服务器端)

(因为它在Liferay而不是jQuery中可用)答案与此类似(包含简单的演示代码):


这不是空的
AUI().use(函数(A){
A.all(“div:empty”).hide();
});

一个更优雅的服务器端选项是创建一个结构和模板,并使用Velocity执行条件逻辑(例如HTML生成),这样空内容甚至不会生成标记(未显示,因为我不知道您更喜欢哪个选项,而且已经有一个解决方案)

如果您想在本文与当前用户的语言不兼容时隐藏整个WebContent Portlet,那么您可以使用Liferay钩子覆盖
html/Portlet/journal\u content/view.jsp
。您可以在liferay文档中找到jsp重写教程:


ps:要通过JournalArticle证明语言的存在,您可以使用LanguageUtil类。

让我知道我的编辑是否有意义-很难知道您想问什么,这就是我理解(并回答)的内容。否则,请再次编辑并澄清。
 <div style="border:5px solid blue"></div>
 <div style="border:1px solid red">
    This is not empty
 </div>
 <script>
   AUI().use(function(A){
     A.all("div:empty").hide();
   });
 </script>