首页 > 解决方案 > 如何获取页面的绝对 URL?

问题描述

cmsfn.link我可以使用模板函数获取页面的相对 URL 。例如:

cmsfn.link(content)
[# -- Returns /example-com/example-page-slug.html --]

如何获取页面的绝对 URL?例如:

https://example.com/example-page-slug.html

标签: magnolia

解决方案


理想情况下,您可以调用LinkUtil.createExternalLink(content),不幸的是,此方法不直接暴露给模板(为什么????)。

您正在使用的替代方案是

[#assign domain = (state.originalBrowserURL?keep_before('?')?remove_ending(state.originalBrowserURI))!'']

与通过站点读取域的区别在于,它为您提供了用户当前在浏览器中使用的域,因此即使您将站点域配置为指向公共实例,或者当您临时在您的本地主机等等。


推荐阅读