如果未找到任何内容,则隐藏Web Content Viewer JSR 286 Portlet

时间:2016-07-22 12:11:21

标签: websphere-portal wcm

我在门户页面上配置了一个指向内容项的JSR 286 portlet。内容项目具有到期日期。内容过期后,用户会看到默认警告消息,指出未找到所选站点区域的内容。

我希望如果所选站点区域中没有内容而不是显示警告,则不应呈现此portlet。

2 个答案:

答案 0 :(得分:0)

您有几个选择 最简单的方法是创建一个显示或不显示的自定义皮肤,具体取决于它的内部内容。只是创建自己的皮肤不返回任何东西

您的其他选项包括使用servlet过滤器或其他一些机制将其从响应中删除,或者在开始呈现后从页面中剥离

答案 1 :(得分:0)

使用一个菜单组件,该菜单组件设置为仅对portlet显示1个项目。然后创建另一个具有演示模板的内容项,该演示模板只显示以下内容:

<div class="emptyPortlet" style="display:none;"> This is an empty template. </div>

**如果您不想在标记中声明样式,也可以在CSS文件中指定.emptyPortlet { display: none;}

在其他项目之前发布此项目,然后将“菜单组件”设置为基于“发布日期”显示。这样,当您创建另一个要显示的项目(使用另一个Presentation Template)时,它的发布日期将更近,并显示在页面上。但是,一旦过期,剩下的唯一找到的已发布项目将是该空白项目,并且显示为“ none”,实际上将向用户隐藏整个portlet。