Search code examples
liferayliferay-6freemarkerliferay-theme

Why doesn't include_page work in Liferay 6.2 (FreeMarker 2.3.17)?


I am trying to include an html page in my liferay theme in portal_normal.ftl using the FreeMarker <@include_page path="..."/> directive:

<@include_page path="${full_templates_path}/page.html" />

but I get this error:

on line 153, column 81 in theme_SERVLET_CONTEXT_/templates/portal_normal.ftl include_page not found.
The problematic instruction:
----------
==> user-directive include_page [on line 153, column 81 in theme_SERVLET_CONTEXT_/templates/portal_normal.ftl]
----------

Solution

  • include_page is not a core FreeMarker directive, but a custom directive provided by freemarker.ext.servlet.FreemarkerServlet. Unless Liferay uses that (which I highly doubt), that's why that directive doesn't exist.

    (BTW, Liferay 6.2 ships with 2.3.17 from 2011? That's sad.)