<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>How to use theme variables inside layouts? LifeRay 7.2</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=118113748" />
  <subtitle>How to use theme variables inside layouts? LifeRay 7.2</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=118113748</id>
  <updated>2026-04-04T21:26:26Z</updated>
  <dc:date>2026-04-04T21:26:26Z</dc:date>
  <entry>
    <title>How to use theme variables inside layouts? LifeRay 7.2</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118113747" />
    <author>
      <name>Nikita Laitinen</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118113747</id>
    <updated>2019-12-18T14:12:16Z</updated>
    <published>2019-12-18T14:12:16Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi everyone!&lt;br&gt;I've been upgrading theme from 7.0 to 7.2.&lt;br&gt;The problem is layouts. I've upgraded that stuff using this link &lt;a href="https://portal.liferay.dev/docs/7-2/tutorials/-/knowledge_base/t/upgrading-7-0-and-7-1-layout-templates-to-7-2"&gt;https://portal.liferay.dev/docs/7-2/tutorials/-/knowledge_base/t/upgrading-7-0-and-7-1-layout-templates-to-7-2&lt;/a&gt;&lt;br&gt;But things like localization don't work inside Layouts.&lt;br&gt;For example, &lt;pre&gt;&lt;code&gt;${languageUtil.get(locale, 'whats-new-label')}
Console say:
Caused by: freemarker.core._TemplateModelException: Multiple compatible overloaded variations were found with the same priority._The FTL type of the argument values were: Null, string (wrapper: f.t.SimpleScalar)._The Java type of the argument values were: Null, String._The matching overload was searched among these members:_ com.liferay.portal.language.LanguageImpl.get(ResourceBundle, String),_ com.liferay.portal.language.LanguageImpl.get(javax.servlet.http.HttpServletRequest, String, String),_ com.liferay.portal.language.LanguageImpl.get(ResourceBundle, String, String),_ com.liferay.portal.language.LanguageImpl.get(javax.servlet.http.HttpServletRequest, ResourceBundle, String),_ com.liferay.portal.language.LanguageImpl.get(Locale, String),_ com.liferay.portal.language.LanguageImpl.get(javax.servlet.http.HttpServletRequest, ResourceBundle, String, String),_ com.liferay.portal.language.LanguageImpl.get(javax.servlet.http.HttpServletRequest, String),_ com.liferay.portal.language.LanguageImpl.get(Locale, String, String)__----_FTL stack trace ("~" means nesting-related):_ - Failed at: ${languageUtil.get(locale, "whats-new... [in template "null_CUSTOM_valamis-corporate-front-page" at line 18, column 35]_---- [Sanitized]
at freemarker.ext.beans.OverloadedMethods.getMemberAndArguments(OverloadedMethods.java:102)
at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:60)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:78)
at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
at freemarker.core.Environment.visit(Environment.java:324)
[at freemarker.core.MixedContent.accept(MixedContent.java:54)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.Environment.process(Environment.java:302)
at freemarker.template.Template.process(Template.java:325)
at com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:137)
at com.liferay.portal.template.BaseTemplate.processTemplate(BaseTemplate.java:127)
... 79 more&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;At the same time the util above works and I can see the result on the web page, but I can't change order of the portlets or remove them at all.&lt;br&gt;I think, I might be wrong, but I think that Liferay objects like Locale and functions like languageUtil.get() and so on are not available inside layouts. But why?&lt;br&gt;Could anybody help me with that please???P.S. Localization works perfect inside templates.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Nikita Laitinen</dc:creator>
    <dc:date>2019-12-18T14:12:16Z</dc:date>
  </entry>
</feed>
