Webコンテンツは、ドキュメントライブラリにすべてのファイルを表示します

StackOverflow https://stackoverflow.com/questions/9328224

  •  27-10-2019
  •  | 
  •  

質問

Webコンテンツディスプレイを使用して、ドキュメントライブラリの特定のフォルダーにすべてのファイルを表示しようとしています。

フォルダーの選択をカスタマイズし続けたいと思います。

ドキュメントライブラリの特定のフィールドにはないフォルダーを指すテンプレートに動的要素が存在するかどうかを知っていますか?

不可能な場合、誰かがそれを行う別の方法を知っていますか?

前もって感謝します

サブリナ

役に立ちましたか?

解決

「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

そのテンプレート/構造で記事を作成し、表示するフォルダーIDを入力します。この記事を表示する「Webコンテンツディスプレイ」ポートレットを追加します。

アップデート:

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))

または、開始/終了/ソートの変更。

他のヒント

ドキュメントライブラリディスプレイポートレットを使用してこれを実現できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top