Liferay主题模板处理错误

Liferay theme template processing error

我正在学习如何为我的门户开发自定义模板。 当我尝试使用我的模板时,出现以下错误:


10:10:44,752 ERROR [http-bio-80-exec-163][runtime:96] Template processing error: "Macro language_format has no such argument: objects"

Macro language_format has no such argument: objects
The problematic instruction:
----------
==> macro language_format [on line 63, column 1 in FTL_liferay.ftl]
 in user-directive liferay.language_format [on line 34, column 72 in theme-theme_SERVLET_CONTEXT_/templates/portal_normal.ftl]
----------

Java backtrace for programmers:
----------
freemarker.template.TemplateException: Macro language_format has no such argument: objects
    at freemarker.core.Environment.visit(Environment.java:576)
    at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)
    at freemarker.core.Environment.visit(Environment.java:221)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:221)
    at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
    at freemarker.core.Environment.visit(Environment.java:221)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)

我发现这是一个问题,问题已在此处解决: https://www.liferay.com/community/forums/-/message_boards/message/44180674

但是总是有但是......当我替换这行时

<span class="site-name" title="<@liferay.language_format objects="${site_name}" key="go-to-x" />"> 

由此

<span class="site-name" title="<@liferay.language_format arguments="${site_name}" key="go-to-x" />">

我需要重新部署我的主题。之后,portal_normal.ftl 文件被覆盖回默认代码。同样的问题出现了。也许这很容易解决,但这让我很生气。感谢您的帮助。

您必须在 docroot/_diffs/templates/portal_normal.ftl 中编辑您的模板。 _diffs 部分是重要的部分。

Liferay 的主题构建过程将父主题(参见 build.xml)复制到输出目录,然后用 _diffs 文件夹中的内容覆盖它。这很可能就是您丢失编辑的原因:如果您在输出目录中进行编辑,这些步骤中的第一步将撤消您的编辑。