我是Liferay Portal的新手,我被指派开发具有以下结构的Liferay应用程序:
我们计划将应用程序出售给不同的客户,因此图像(徽标等)和css等资源需要定制。根据{{3}}资源,如图像和样式表是部署到Liferay的门户应用程序的一部分。因此,对于2个不同的客户,我需要2个不同的应用程序版本。相反,我希望有一个版本的portlet可以从数据库加载所有资源(可能通过休息调用到适当的配置服务)。这将为我们提供更好的供应机会。
此外,我希望能够在不同的portlet之间共享css资源。
我是如何实现这两个目标的?
答案 0 :(得分:3)
你似乎在谈论主题。你需要创建一个Liferay主题。您可以扩展现有的Liferay主题或创建全新的主题。主题就像portlet,意味着你以相同的方式部署它们,只有它们特定于你似乎正在描述的内容。看看https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/theme-builder。
这里有大量示例https://github.com/liferay/liferay-plugins/tree/master/themes和用于生成新主题的脚本。
希望有所帮助
答案 1 :(得分:3)
正如Sudakatux所说,你在谈论主题。我只想补充几点:
有用的链接:
答案 2 :(得分:0)
这是您在Liferay 7 DXP中布置主题目录结构的方式。确保创建Liferay工作区并在该工作区中创建Liferay模块(主题)。如果你不这样做,你将会遇到很多错误并导致自己很多困惑。
您可以将所有css更改放在_custom.scss文件中,它们将覆盖默认的css样式。
Blade CLI将生成核心freemarker模板。我也建议使用页眉/页脚模板。
最后,这是您在freemarker模板中引用徽标的方式
<a class="${logo_css_class}" href="${site_default_url}" title="<@liferay.language_format arguments="${site_name}" key="go-to-x" />">
<img alt="${logo_description}" class="logo1" src="${site_logo}" />
</a>