Foren

embeded in freemaker

abhishek kumar, geändert vor 8 Jahren.

embeded in freemaker

Regular Member Beiträge: 138 Beitrittsdatum: 17.08.15 Neueste Beiträge
hello all,
i have created a theme using freemaker and styled..how to embeded mine portlet in freemaker...
as i am putting $theme.runtime("-portletid");
but it is not working i guess it works only on portal_normal.vm.....!
thumbnail
Julien Mourad, geändert vor 8 Jahren.

RE: embeded in freemaker (Antwort)

Junior Member Beiträge: 78 Beitrittsdatum: 22.01.15 Neueste Beiträge
$theme.runtime() is velocity syntax and not freemarker. Use ${theme.runtime("portletId", "", "")}
Jack Thinkin, geändert vor 7 Jahren.

RE: embeded in freemaker

Junior Member Beiträge: 45 Beitrittsdatum: 09.05.16 Neueste Beiträge
what is right syntax for theme.display() in freemaker? embedding of search in theme. is there any link for reading? thanks
thumbnail
Julien Mourad, geändert vor 7 Jahren.

RE: embeded in freemaker

Junior Member Beiträge: 78 Beitrittsdatum: 22.01.15 Neueste Beiträge
Jack Thinkin:
what is right syntax for theme.display() in freemaker? embedding of search in theme. is there any link for reading? thanks



I believe the most common approach to embed a portlet in a theme is ${theme.runtime()} while adding the portlet id as parameter. The portlet id for the search is 3, alternatively you can simply use ${theme.search()} instead if you don't have any preferences. https://dev.liferay.com/ should help you find whatever you're looking for.

As for the theme display in a theme, you can simply use theme_display. This is declared in init.ftl:
<#assign theme_display = themeDisplay />
Jack Thinkin, geändert vor 7 Jahren.

RE: embeded in freemaker

Junior Member Beiträge: 45 Beitrittsdatum: 09.05.16 Neueste Beiträge
thanks.
i get exceptions in Liferay 7 during trial to call ${theme.search()} or ${theme.runtime("3")} like:

..
If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
...
FTL stack trace ("~" means nesting-related): Failed at: ${theme.search()}


Object theme is no null
Do You mean older versions of Liferay?
thumbnail
Julien Mourad, geändert vor 7 Jahren.

RE: embeded in freemaker

Junior Member Beiträge: 78 Beitrittsdatum: 22.01.15 Neueste Beiträge
Yes unfortunately I'm familiar with 6.2 but not 7.
Jack Thinkin, geändert vor 7 Jahren.

RE: embeded in freemaker

Junior Member Beiträge: 45 Beitrittsdatum: 09.05.16 Neueste Beiträge
thanks
there is description of changes in Liferay 7 in comparison to older versions in
https://dev.liferay.com/develop/reference/-/knowledge_base/7-0/breaking-changes

using of Liferay Tag <@liferay_portlet["runtime"] in FreeMarker
There are seems no changes in Velocity