0

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

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

4

2 回答 2

0

您有几个选择最简单的方法是创建一个自定义皮肤,根据其内部内容显示或不显示。只是创造你自己的皮肤什么都不会回报

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

于 2016-07-26T12:45:35.400 回答
0

使用设置为只为您的 portlet 显示 1 个项目的菜单组件。然后创建第二个内容项,它有一个演示模板,上面写着这样的内容:

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

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

在您的其他项目之前发布它,然后将菜单组件设置为根据发布日期显示。这样,当您创建要显示的另一个项目(使用不同的演示模板)时,它将具有更新的发布日期并显示在页面上。但是,一旦过期,唯一要查找的已发布项目将是这个空白项目,并且使用“显示:无”它实际上将对用户隐藏整个 portlet。

于 2019-01-24T12:05:50.980 回答