Webinhalte Zeigen Sie alle Dateien in der Dokumentbibliothek an
Frage
Ich versuche, eine Webinhaltsanzeige zu verwenden, um alle Dateien in einem bestimmten Ordner der Dokumentbibliothek anzuzeigen.
Ich möchte die Auswahl des Ordners weiter anpassen.
Wissen Sie, ob ein dynamisches Element in der Vorlage existiert, das auf einen Ordner nicht in ein bestimmtes Feld in der Dokumentbibliothek hinweist?
Wenn nicht möglich ist, kennt jemand einen anderen Weg, dies zu tun?
vielen Dank im Voraus
Sabrina
Lösung
Sie können eine Struktur erstellen, die ein Textfeld für OrdnerID mit dem Namen "Ordnerid" enthält.
Als Vorlage erstellen
#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
Erstellen Sie Artikel nach dieser Vorlage/Struktur und geben Sie die Ordner -ID ein, die Sie anzeigen möchten. Fügen Sie "Webinhalte Anzeige" -Portlet hinzu, das diesen Artikel anzeigt.
AKTUALISIEREN:
Für Liferay 6.1 wurde die Signatur der Methode geändert und ist ist
List<DLFileEntry> getFileEntries(long groupId, long folderId, int start, int end, OrderByComparator obc)
Damit Liferay 6.1 Sie also den Anruf ändern sollten, um zumindest zu sein
#set($files = $service.getFileEntries($gid, $fid, -1, -1, null))
oder ändern Sie für Start/Ende/Sortierung.
Andere Tipps
Sie können das Dokumentbibliotheksanzeigeportlet verwenden, um dies zu erreichen.