afficher un contenu Web tous les fichiers dans la bibliothèque de documents
Question
Je suis en train d'utiliser un affichage de contenu Web pour afficher tous les fichiers dans un dossier particulier de la bibliothèque de documents.
Je voudrais garder personnaliser le choix du dossier.
Savez-vous si elles existent un élément dynamique dans le modèle qui pointent vers un dossier non à un champ spécifique dans la bibliothèque de documents?
Si quelqu'un ne peut connaître une autre façon de le faire?
Merci à l'avance
Sabrina
La solution
Vous pouvez créer une structure qui détient champ de texte pour folderID nommé « folderID ».
que de créer modèle
#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
Créer un article de ce modèle / structure et entrez le dossier id que vous souhaitez afficher. Ajouter "affichage de contenu Web" portlet qui affiche cet article.
Mise à jour:
Pour la signature de la méthode Liferay 6.1 a été modifiée et est
List<DLFileEntry> getFileEntries(long groupId, long folderId, int start, int end, OrderByComparator obc)
Donc, pour Liferay 6.1, vous devez changer appel à au moins
#set($files = $service.getFileEntries($gid, $fid, -1, -1, null))
ou le changement pour le début / fin / trier.
Autres conseils
Vous pouvez utiliser la bibliothèque de documents portlet d'affichage pour y parvenir.