Скрытие портлета просмотра веб-материалов JSR 286, если контент не найден

Я настроил портлет JSR 286 на своей странице портала, который указывает на элемент содержимого. Элемент контента имеет срок действия. Когда срок действия контента истекает, пользователь видит предупреждающее сообщение по умолчанию, в котором говорится, что контент для выбранной области сайта не найден.

Я хочу, чтобы этот портлет не отображался, если в выбранной области сайта нет содержимого вместо отображения предупреждения.

1 ответ

У вас есть несколько вариантов. Самый простой - создать собственный скин, который будет отображаться или не показываться в зависимости от его внутреннего содержимого. просто создайте свой собственный скин, чтобы ничего не возвращать

Другие ваши варианты включают удаление его из ответа с помощью фильтра сервлетов или какого-либо другого механизма или удаление его со страницы после начала рендеринга.

Используйте компонент меню, который настроен на отображение только 1 элемента для вашего портлета. Затем создайте второй элемент контента, который имеет шаблон презентации, который просто говорит что-то вроде этого:

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

* если вы не хотите объявлять стиль внутри тега, вы также можете указать .emptyPortlet { display: none;} внутри вашего файла CSS.

Опубликуйте это перед другим элементом, а затем настройте отображение компонента меню на основе даты публикации. Таким образом, когда вы создаете другой элемент, который вы хотите отобразить (который использует другой шаблон презентации), он будет иметь более позднюю дату публикации и будет отображаться на странице. Но по истечении этого срока единственным опубликованным элементом, который нужно найти, будет этот пустой, а с параметром "display: none" он по существу скрывает весь портлет от пользователя.

Другие вопросы по тегам