0

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

当没有一种语言的文本时,我们希望不显示这些框。

有人可以帮助我们吗?

提前致谢,

s

4

2 回答 2

0

如果您想在本文不涉及当前用户的语言时隐藏整个 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 类。

于 2012-08-23T20:05:34.040 回答
0

我相信这个问题非常接近您正在寻找的内容(除非您想隐藏元素服务器端)。

转换为 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 生成),这样空内容甚至不会生成标记(未显示,因为我不知道哪个您喜欢的选项,并且已经有一种解决方案)

于 2012-08-22T19:19:23.440 回答