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