Можно ли каким-либо образом отображать веб-контент на общедоступной странице в случайном порядке при обновлении страницы?
Мы используем liferay 6.1
На общедоступной странице мы хотим отображать веб-контент в одном портлете, но он не должен быть выбран только один.
мы хотим отображать его случайным образом при обновлении страницы. Как и при обновлении страницы, он должен отображать другой веб-контент из группы веб-контента.
Любой намек?
Благодарю.
2 ответа
Подумайте об использовании структур и шаблонов. Со структурами вы даете некоторое содержимое статьи - это может быть альтернативный контент или просто описание фильтра, который вы хотите отобразить.
Простая структура (которая содержит весь контент только в одной статье, а не именно то, что вы просите) просто имеет повторяемые текстовые поля HTML. Отредактируйте все из них с содержанием, которое вы хотите показывать поочередно.
В вашем шаблоне вы читаете статью с этим контентом, генерируете случайное число и показываете только фрагмент из контента, который предлагает случайное число.
Другим способом является создание шаблона, который запрашивает API Liferay для нескольких статей. Затем вы случайным образом выбираете один из них и отображаете его.
Шаблоны могут быть написаны на Velocity, Freemarker или XSL. Приятно то, что они полностью настраиваются во время выполнения.
В блогах Liferay, особенно в блоге Джеймса Фолкнера, есть несколько статей о том, как работать с API из шаблонов.
Вы можете настроить портлет "Отображение веб-содержимого" с помощью ловушки. Добавьте на страницу конфигурации флажок "показать рандомизированный", получите список существующих статей журнала и выберите случайную из них.