掲示板

Portal Url in VM

11年前 に Syed Umair によって更新されました。

Portal Url in VM

Junior Member 投稿: 36 参加年月日: 12/10/11 最新の投稿
Hi,
I have developed a structure and template. Currently, I am using localhost:8080 in my template, but when I will deploy my web it should not be localhost. Can anyone suggest me how to get portal url in VM template.
I can get it in jsp using themeDisplay.getPortalURL(), but I dont know how to do it in VM. emoticon

Any valuable suggestion will be appreciated. emoticon
Umair
thumbnail
11年前 に Rishi Dev Gupta によって更新されました。

RE: Portal Url in VM

Expert 投稿: 255 参加年月日: 08/11/23 最新の投稿
Check this link this might help you

http://content.liferay.com/4.3/misc/theme-api-4.3.0.html
thumbnail
11年前 に Jitendra Rajput によって更新されました。

RE: Portal Url in VM

Liferay Master 投稿: 875 参加年月日: 11/01/07 最新の投稿
Could you please try with below code .

#set ($portalUtil= $utiLocator.findUtil("com.liferay.portal.util.portalUtil"))
#set ($portalURL=$portalUtil.getPortalURL($themeDisplay))
$portalURL
11年前 に Syed Umair によって更新されました。

RE: Portal Url in VM (回答)

Junior Member 投稿: 36 参加年月日: 12/10/11 最新の投稿
Thnx, for your replies. I manage it to do it with

#set($companyLocalService = $serviceLocator.findService("com.liferay.portal.service.CompanyLocalService"))
#set($company = $companyLocalService.getCompany($company_id))
#set($portalURL = $company.getVirtualHostname())
thumbnail
11年前 に Rishi Dev Gupta によって更新されました。

RE: Portal Url in VM (回答)

Expert 投稿: 255 参加年月日: 08/11/23 最新の投稿
You do not need to define service variable to get company information. You will get the $company object by default in vm file, thus no need to make a database hit.

Also you will need to set the property accordingly in portal.properties, if you want to use service layer (as answered y you)
#
# Input a comma delimited list of variables which are restricted from the
# context in Velocity based Journal templates.
#
journal.template.velocity.restricted.variables=serviceLocator
11年前 に Syed Umair によって更新されました。

RE: Portal Url in VM

Junior Member 投稿: 36 参加年月日: 12/10/11 最新の投稿
Rishi Dev Gupta:
You do not need to define service variable to get company information. You will get the $company object by default in vm file, thus no need to make a database hit.


I have tried the $company object and it works same. And it will certainly improve the performance. emoticon