Foren
Friendly URL In Velocity Template
Josh Asbury, geändert vor 15 Jahren.
Friendly URL In Velocity Template
Expert Beiträge: 498 Beitrittsdatum: 08.09.06 Neueste Beiträge
I have created a template which uses the link to page feature in the structure -- linking an image to a page.
#if ($image-link.getData() != "")
<a href="$image-link.getUrl()" #end < code></a>
<a href="$image-link.getUrl()" #end < code><br><br>The getUrl() works fine, but I am wondering if there is a way to get the Friendly URL in a template. Any ideas?</a>
Amos Fong, geändert vor 15 Jahren.
RE: Friendly URL In Velocity Template
Liferay Legend Beiträge: 2047 Beitrittsdatum: 07.10.08 Neueste Beiträge
Hey Josh,
I can't think of an easy way to do it...
I can't think of an easy way to do it...
#set ($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalServiceUtil"))
#set ($layoutId = $getterUtil.getLong($image-link.getData()))
#set ($themeDisplay = $request.get('theme-display'))
#set ($currentPlid = $getterUtil.getLong($themeDisplay.get('plid')))
#set ($currentLayout = $layoutLocalService.getLayout($currentPlid))
#set ($layout = $layoutLocalService.getLayout($getterUtil.getLong($groupId), $currentLayout.isPrivateLayout(), $layoutId))
@friendly_url_current@/@group_friendly_url@$layout.getFriendlyURL()
Antonio Marcos Bernal, geändert vor 14 Jahren.
RE: Friendly URL In Velocity Template
New Member Beiträge: 6 Beitrittsdatum: 19.05.09 Neueste Beiträge
hi !!
i have a template with a page link and i used <a href="$ilink.getUrl()"/> to go to this page , but now i need to show the friendly_url instead of web/guest/10209/8 for example..
With your code i can show the friendly url of the actual page but no the link page url that show the mozilla when i used the href
Can anybody help me?
Thank you very much
i have a template with a page link and i used <a href="$ilink.getUrl()"/> to go to this page , but now i need to show the friendly_url instead of web/guest/10209/8 for example..
With your code i can show the friendly url of the actual page but no the link page url that show the mozilla when i used the href
Can anybody help me?
Thank you very much
Antonio Marcos Bernal, geändert vor 14 Jahren.
RE: Friendly URL In Velocity Template
New Member Beiträge: 6 Beitrittsdatum: 19.05.09 Neueste Beiträge
Excuse me but i see my problem is only that $currentLayout = $layoutLocalService.getLayout($currentPlid)) don´t return anything,,,anybody test this code??
Amos Fong, geändert vor 14 Jahren.
RE: Friendly URL In Velocity Template
Liferay Legend Beiträge: 2047 Beitrittsdatum: 07.10.08 Neueste Beiträge
Did you enable the servicelocator in your templates?
in portal.properties:
journal.template.velocity.restricted.variables=
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Access+to+Liferay+services+in+Velocity
in portal.properties:
journal.template.velocity.restricted.variables=
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Access+to+Liferay+services+in+Velocity
Robert Kornmesser, geändert vor 12 Jahren.
RE: Friendly URL In Velocity Template
Junior Member Beiträge: 39 Beitrittsdatum: 03.11.11 Neueste Beiträge
Its NOT
BUT
Finding services works by looking up the bean name, not the util. Otherwise you get a "NoSuchBeanDefinitionException: No bean named 'com.liferay.portal.service.LayoutLocalServiceUtil' is defined"
#set ($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalServiceUtil"))
BUT
#set ($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))
Finding services works by looking up the bean name, not the util. Otherwise you get a "NoSuchBeanDefinitionException: No bean named 'com.liferay.portal.service.LayoutLocalServiceUtil' is defined"
Dave Weitzel, geändert vor 11 Jahren.
RE: Friendly URL In Velocity Template
Regular Member Beiträge: 208 Beitrittsdatum: 18.11.09 Neueste Beiträge
I have found this thread and though it solved my problem as well but it doesn't.
I have a custom navigation template that is part of the theme (user has added own links etc) .
I want to detect if the link is actually to the current "site" so I can give it a different class.
I see you are using :
@friendly_url_current@/@group_friendly_url@
as a way of getting the current site's url and when I put this in the journal temp[lpate as straight text it returns what I want:
/web/mysite
BUT if I create a velocity variable
#set ( $fURL = '@friendly_url_current@/@group_friendly_url@')
it will still print out correctly but when I do something like link.getData().startsWith($fURL) I never get a hit as fURL contains the string @friendly_url_current@/@group_friendly_url@ it has length 42 characters.
I have never seen these sort of variables: @friendly_url_current@/@group_friendly_url@ ?
Where do they come from?
How can I pre-process their results to use in velocity functions?
I am expanding the journal content directly in the theme templates so do not have themeDIsplay and other normal velocity functions to work with
Thanks
I have a custom navigation template that is part of the theme (user has added own links etc) .
I want to detect if the link is actually to the current "site" so I can give it a different class.
I see you are using :
@friendly_url_current@/@group_friendly_url@
as a way of getting the current site's url and when I put this in the journal temp[lpate as straight text it returns what I want:
/web/mysite
BUT if I create a velocity variable
#set ( $fURL = '@friendly_url_current@/@group_friendly_url@')
it will still print out correctly but when I do something like link.getData().startsWith($fURL) I never get a hit as fURL contains the string @friendly_url_current@/@group_friendly_url@ it has length 42 characters.
I have never seen these sort of variables: @friendly_url_current@/@group_friendly_url@ ?
Where do they come from?
How can I pre-process their results to use in velocity functions?
I am expanding the journal content directly in the theme templates so do not have themeDIsplay and other normal velocity functions to work with
Thanks
Corné Aussems, geändert vor 10 Jahren.
RE: Friendly URL In Velocity Template
Liferay Legend Beiträge: 1313 Beitrittsdatum: 03.10.06 Neueste Beiträge
I was forwarded to this post, but its easier nowadays but for future references
updated: getFriendlyUrl >> getFriendlyURL
dynamic-element name="linkFoo" type="link_to_layout" index-type="" />
$linkFoo.getFriendlyUrl()
updated: getFriendlyUrl >> getFriendlyURL
Corné Aussems, geändert vor 10 Jahren.
RE: Friendly URL In Velocity Template
Liferay Legend Beiträge: 1313 Beitrittsdatum: 03.10.06 Neueste Beiträge
Mind the CAP, Mind the CAP, Mind the CAP,
Oops now i made the same assumption,
it should be
NOT
$linkFoo.getFriendlyURL()
Oops now i made the same assumption,
it should be
$linkFoo.getFriendlyUrl()
NOT
$linkFoo.getFriendlyURL()