I need to obtain a property that is set in portal-ext.properties from my theme's portal_normal.ftl file. Using Liferay 7.
All my searches have come up short, but I can't believe I'm the first one to have this need.
For background, I need to display a web content that is stored in the global site. This needs to be displayed on every site, which is why it's going into the theme. It also needs to be updated by the content editors, so the content can't be included in the theme.
I can display the web content easily, using the journalArticleLocalService like this
journalArticleLocalService.fetchArticle(10197,"1260480")
but I obviously don't want to hard code the group ID and article ID like this; and they are already stored in portal-ext.properties for another reason.
Also, I know about theme configuration values, I use them for a lot of other configuration needs, but those require the values to be entered for each site and there are hundreds of sites in our implementation so this is not an option.
Thanks in advance for any solutions or advice you can provide.
Properties are (as far as I know) not available in Liferay's Freemarker Templates - and as everything in Liferay tries to phase them out in favor of OSGi based configuration) I'd not recommend keeping up the configuration there. Any change requires a restart of the portal - proper configuration would make them hot-changeable.
However, as you now have this situation and probably look for a quick solution: You can create a TemplateContextContributor and make the required values available for your template.