【问题标题】:Liferay 7.4: How to create a configurable web content article footer?Liferay 7.4:如何创建可配置的 Web 内容文章页脚?
【发布时间】:2022-08-05 19:06:36
【问题描述】:
我需要在 Liferay 项目中创建一个页脚,可以从实例中修改它。我一直在我的页脚代码和实例中尝试各种事情,但还没有弄清楚如何去做。
Liferay 说,页脚内的任何内容都不能被触摸并且处于页面编辑模式\"此区域由主题定义。您可以通过在侧边栏的页面设计选项面板中单击更多来更改主题设置\".我也没有从 Page Design Options 中得到任何帮助。有没有办法做到这一点?
标签:
liferay
freemarker
liferay-7
liferay-7.4
【解决方案1】:
经过数小时的工作和搜索,我找到了答案,并想在这里与大家分享。在其中一个 cmets 中找到了工作解决方案 here。
您需要编写一些代码(我使用 Freemarker/ftl),然后稍微配置站点页面,但它是这样工作的:
- 在
liferay-look-and-feel.xml 中添加一个新设置:
<settings>
<setting key="footer-article-id" value="" configurable="true" type="text"/>
</settings>
这将在页面选项中创建一个新的可配置选项,允许您输入 Web 内容的 ID。
注意:<theme> 可能会带有红色下划线“元素类型“主题”的内容必须匹配”.这仍然可以正确打印所有内容,但是标签的顺序错误。在我的<theme> 中,我依次有<template-extension>、<settings> 和<portlet-decorator>,这消除了错误。
- 在
init_custom.ftl 中分配一个变量(清理页脚代码):
<#assign footer_article_id = getterUtil.getString(themeDisplay.getThemeSetting("footer-article-id"))/>
然后将其添加到页脚代码中,以创建内容可见的位置:
<@liferay_journal["journal-article"]
articleId=footer_article_id
groupId=page_group.groupId
/>
在此之后,一切都应该在代码方面准备就绪。
- 为您的页脚创建一个 Web 内容。在创建屏幕中,右侧面板上有一个 ID。发布您的内容并获取 ID。
- 最后,转到 Site Builder --> Pages 并单击顶部栏中的配置(三个点后面)。您应该会看到第一张图片中的输入字段:这是您添加 ID 的地方。
保存设置,您的 Web 内容现在应该在页脚中。
希望这可以帮助!