Last active
June 3, 2021 13:27
-
-
Save evaldeslacasa/6ce2fd442e50d82918d7 to your computer and use it in GitHub Desktop.
ADT to display Document Library files' links in Asset Publisher - Liferay 6.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#set($dlFileEntryService = $serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")) | |
#if (!$entries.isEmpty()) | |
<div id="$portletInstance" class="documents-links"> | |
#foreach ($entry in $entries) | |
#set($renderer = $entry.getAssetRenderer() ) | |
#set($className = $renderer.getClassName() ) | |
#if( $className == "com.liferay.portlet.documentlibrary.model.DLFileEntry" ) | |
#set($classPk = $entry.getClassPK()) | |
#set($fileEntry = $dlFileEntryService.getDLFileEntry($classPk)) | |
#set($folderId = $fileEntry.getFolderId()) | |
#set($fileNameUrl = $entry.getTitle().replaceAll(" ","+")) | |
#set($url = $themeDisplay.getPortalURL() + $themeDisplay.getPathContext() + "/documents/" + | |
$themeDisplay.getScopeGroupId() + "/" + $folderId + "/" + $fileNameUrl) | |
<p class="links"><a href=$url target="_blank"> $entry.getTitle()</a><br> | |
#* | |
##These lines would allow us to view files via a document library cool view: | |
#set($viewURL = $assetPublisherHelper.getAssetViewURL($renderRequest, $renderResponse, $entry)) | |
#set($viewAsset = $renderer.getURLViewInContext($renderRequest, $renderResponse, $viewURL)) | |
<a href=$viewAsset> View file</a> | |
*# | |
</p> | |
#end | |
#end | |
</div> | |
#end |
Thanks for posting this! I cannot understand why this isn't the default behavior out of the box, but I'm glad the work around is simple.
I've updated this adt for use with Liferay 7 below:
#set($dlFileEntryService = $serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService"))
#if (!$entries.isEmpty())
<div id="$portletInstance" class="documents-links">
#foreach ($entry in $entries)
#set($renderer = $entry.getAssetRenderer() )
#set($className = $renderer.getClassName() )
#if( $className == "com.liferay.document.library.kernel.model.DLFileEntry" )
#set($classPk = $entry.getClassPK())
#set($fileEntry = $dlFileEntryService.getDLFileEntry($classPk))
#set($folderId = $fileEntry.getFolderId())
#set($fileNameUrl = $entry.getTitle().replaceAll(" ","+"))
#set($url = $themeDisplay.getPortalURL() + $themeDisplay.getPathContext() + "/documents/" +
$themeDisplay.getScopeGroupId() + "/" + $folderId + "/" + $fileNameUrl)
<p class="links"><a href=$url target="_blank"> $entry.getTitle()</a><br>
#*
##These lines would allow us to view files via a document library cool view:
#set($viewURL = $assetPublisherHelper.getAssetViewURL($renderRequest, $renderResponse, $entry))
#set($viewAsset = $renderer.getURLViewInContext($renderRequest, $renderResponse, $viewURL))
<a href=$viewAsset> View file</a>
*#
</p>
#end
#end
</div>
#end
How Get Folder From Documents and Media In Liferay Through Application Display Template In FreeMarker Language.I Have Attached A Pic Which Format I Get The Folders And Inside Data Also.
The Hierarchy of Folder In DMS Like
1.Our Fact File->1.Annual Reports->2019->data inside this folder
->2020->data inside this folder
2.Public Dislosure>2019->data inside this folder
->2020->data inside this folder
Plz Help If Anyone Know This Code
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
how to get document size and document uploaded date?