Fóruns

Início » Liferay Portal » English » 3. Development

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
Mike Perico
How to access a folder in DL via VM template.
13 de Setembro de 2012 08:54
Resposta

Mike Perico

Ranking: New Member

Mensagens: 19

Data de entrada: 23 de Agosto de 2012

Mensagens recentes

I have created a folder in the document library off of root - "MyFolder".

I have been trying to access it with no luck so far. This shouldn't be so hard. This is the code I am using to just access the folder:


#set ( $DLFolderLocalService=$serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFolderLocalService"))
#set ( $myFolder = $DLFolderLocalService.getFolder(16348) )

Folder Name: $myFolder.getName() <br/>

But instead I get $myFolder.getName printed out literally.

Any help on how to access this folder and it's contents?
David H Nebinger
RE: How to access a folder in DL via VM template.
31 de Agosto de 2012 11:51
Resposta

David H Nebinger

Community Moderator

Ranking: Liferay Legend

Mensagens: 11511

Data de entrada: 1 de Setembro de 2006

Mensagens recentes

I believe if $myFolder resolves to null, Velocity will treat it as inline text rather than as a reference to resolve.

Since you don't get a failure on an NPE on the second #set, I'm guessing the service was found but it returned null for myFolder.

In the com.liferay.portal.bean.VelocityBeanHandler class, if a bean (in this case your DLFolderLocalService instance) throws an exception, it is swallowed up and a null is returned.

The key here is figuring out why your call to getFolder(16348) is failing.
Mike Perico
RE: How to access a folder in DL via VM template.
31 de Agosto de 2012 12:05
Resposta

Mike Perico

Ranking: New Member

Mensagens: 19

Data de entrada: 23 de Agosto de 2012

Mensagens recentes

Thanks for the reply.

I found that folder id by looking at the URL in the control panel. Is that not the correct way to get the folder id? I don't the id displayed any where else, but I think making sure I have the correct folder id is the first step.

When I hover over the folder in the DL I get this:

http://localhost:8080/group/control_panel/manage?p_p_id=20&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&doAsGroupId=14209&refererPlid=16323&_20_struts_action=%2Fdocument_library%2Fview&_20_viewEntries=true&_20_viewFolders=true&_20_folderId=16348

I am choosing the correct folderId, yes?

mike
David H Nebinger
RE: How to access a folder in DL via VM template.
31 de Agosto de 2012 12:40
Resposta

David H Nebinger

Community Moderator

Ranking: Liferay Legend

Mensagens: 11511

Data de entrada: 1 de Setembro de 2006

Mensagens recentes

Looks like the right one, but you have to remember that what is going on at the portlet level may be different than just calling getFolder(16348)...

If you try a similar sort of thing in a JSP page, there you should see whatever exception is probably getting thrown from the call, and that will lead you toward the solution...
Mike Perico
RE: How to access a folder in DL via VM template.
31 de Agosto de 2012 12:49
Resposta

Mike Perico

Ranking: New Member

Mensagens: 19

Data de entrada: 23 de Agosto de 2012

Mensagens recentes

ok...

One more thing, where would I find the source for the asset publisher or Document and Media portlets?
David H Nebinger
RE: How to access a folder in DL via VM template.
31 de Agosto de 2012 13:24
Resposta

David H Nebinger

Community Moderator

Ranking: Liferay Legend

Mensagens: 11511

Data de entrada: 1 de Setembro de 2006

Mensagens recentes

They're part of Liferay and would be available in the source download.
Hitoshi Ozawa
RE: How to access a folder in DL via VM template.
1 de Setembro de 2012 03:55
Resposta

Hitoshi Ozawa

Ranking: Liferay Legend

Mensagens: 7949

Data de entrada: 23 de Março de 2010

Mensagens recentes

I found that folder id by looking at the URL in the control panel. Is that not the correct way to get the folder id?


To find the id value, I usually just look in the database table. If you're using the default database, it's kind of difficult to view it online so I usually setup a mysql.
Hitoshi Ozawa
RE: How to access a folder in DL via VM template.
1 de Setembro de 2012 04:01
Resposta

Hitoshi Ozawa

Ranking: Liferay Legend

Mensagens: 7949

Data de entrada: 23 de Março de 2010

Mensagens recentes

One more thing, where would I find the source for the asset publisher or Document and Media portlets?


Just download liferay's source code.
jsp files are in respective folders in portal-web\docroot\html\portlet

Java codes are in
portal-service\src\com\liferay\portlet

and

\portal-impl\src\com\liferay\portlet