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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top