【问题标题】:Hiding a Web Content Viewer JSR 286 Portlet if no content is found如果未找到内容,则隐藏 Web 内容查看器 JSR 286 Portlet
【发布时间】:2016-07-22 12:11:21
【问题描述】:

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

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

【问题讨论】:

    标签: websphere-portal wcm


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-01-11
        • 1970-01-01
        • 2012-01-08
        • 2020-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多