Webコンテンツディスプレイを使用して、ドキュメントライブラリの特定のフォルダ内のすべてのファイルを表示しようとしています。Webコンテンツドキュメントライブラリ内のすべてのファイルを表示
フォルダのカスタマイズをカスタマイズしておきたいと思います。
ドキュメントライブラリ内の特定のフィールドではないフォルダを指すテンプレート内の動的要素が存在するかどうかは分かりますか?
誰かがそれを行うための別の方法を知ることができない場合には?
おかげで事前に
サブリナ
Webコンテンツディスプレイを使用して、ドキュメントライブラリの特定のフォルダ内のすべてのファイルを表示しようとしています。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コンテンツ表示」ポートレットを追加します。
UPDATE:Liferayの6.1メソッドのシグネチャの場合
が変更されたので、Liferayの6.1のためにあなたが/開始のための少なくとも
#set($files = $service.getFileEntries($gid, $fid, -1, -1, null))
または変更する呼び出す
List<DLFileEntry> getFileEntries(long groupId, long folderId, int start, int end, OrderByComparator obc)
を変更する必要がありますされます終了/並べ替え。
あなたはこれを実現するために、ドキュメントライブラリの表示ポートレットを使用することができます。
こんにちは@Martin、あなたの答えのための ありがとうございます、それは私が必要とする正確に何ですが、私はまだ問題を抱えている... 私はportal-ext.propertiesで「のServiceLocatorを」有効: はjournal.template.velocity.restricted。変数= だから、サービスが "$ service.getBeanIdentifier()" を使ってロードされていることを確認しましたが、$ files = $ service.getFileEntries($ gid、$ fid)変数は常にnullです。 "/ documents/gid/fid/name"と書かれたパスを使ってファイルを呼び出そうとしました。 アイデア ありがとうございます。 Sabrina – Sabrina
サービスコール後にテンプレートに入力してください: "service = $ service
gid = $ gid
fid = $ fid
"引用符なし。 はそれだけで、あなたのフォルダが別のグループに存在するか、あるいないことをできるように、私は今、[OK]を –
サービス= com.liferay.p[email protected]400ac3 GID = 19 FID = 13637 – Sabrina