Веб-контент отображает все файлы в библиотеке документов - PullRequest
4 голосов
/ 17 февраля 2012

Я пытаюсь использовать отображение веб-содержимого для отображения всех файлов в определенной папке библиотеки документов.

Я хотел бы сохранить настройку выбора папки.

Знаете ли вы, существует ли в шаблоне динамический элемент, который указывает на папку, а не на конкретное поле в библиотеке документов?

Если это невозможно, кто-нибудь знает другой способ сделать это?

заранее спасибо

Сабрина

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

Вы можете создать структуру, которая содержит текстовое поле для folderId с именем «folderId».

Чем создать шаблон

#set($service = $serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService"))
#set($gid = $getterUtil.getLong($request.get("theme-display").get("scope-group-id")))
#set($fid = $getterUtil.getLong($folderId.getData()))

#set($files = $service.getFileEntries($gid, $fid))

#foreach($doc in $files)
    #set($uet = $httpUtil.encodeURL($htmlUtil.unescape($doc.getTitle())))
    <a href="/documents/$gid/$fid/$uet">$doc.getTitle()</a><br />
#end

Создать статью по этому шаблону / структуре и ввести идентификатор папки, которую вы хотите отобразить.Добавьте портлет «Отображение веб-содержимого», который отображает эту статью.

ОБНОВЛЕНИЕ:

Для подписи метода Liferay 6.1 изменено значение

List<DLFileEntry>   getFileEntries(long groupId, long folderId, int start, int end, OrderByComparator obc) 

Поэтому для liferay 6.1 вам следуетизменить вызов, чтобы быть по крайней мере

#set($files = $service.getFileEntries($gid, $fid, -1, -1, null))

или изменить для начала / конца / сортировки.

0 голосов
/ 18 февраля 2012

Для этого можно воспользоваться портлетом отображения библиотеки документов.

...