我们正在创建一个 3 种语言的网站。我们有一些在框中显示的 Web 内容,使用“外观/高级样式”来提供边框。Portlet 标题在 Portlet 的外观中定义。
当没有一种语言的文本时,我们希望不显示这些框。
有人可以帮助我们吗?
提前致谢,
s
如果您想在本文不涉及当前用户的语言时隐藏整个 WebContent-Portlet,那么您可以html/portlet/journal_content/view.jsp
使用 Liferay-Hook 覆盖。您可以在 liferay 文档中找到 jsp 覆盖的教程:http ://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/overriding-aj-4
ps:要通过 JournalArticle 证明语言的存在,您可以使用 LanguageUtil 类。
我相信这个问题非常接近您正在寻找的内容(除非您想隐藏元素服务器端)。
转换为 AUI(因为它在 Liferay 而不是 jQuery 中可用)答案与此类似(包含简单的演示代码):
<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>
一个更优雅的服务器端选项是创建一个结构和一个模板,并使用 Velocity 执行条件逻辑(例如 HTML 生成),这样空内容甚至不会生成标记(未显示,因为我不知道哪个您喜欢的选项,并且已经有一种解决方案)