magnolia - 如何获取页面的绝对 URL?
问题描述
cmsfn.link
我可以使用模板函数获取页面的相对 URL 。例如:
cmsfn.link(content)
[# -- Returns /example-com/example-page-slug.html --]
如何获取页面的绝对 URL?例如:
https://example.com/example-page-slug.html
解决方案
理想情况下,您可以调用LinkUtil.createExternalLink(content)
,不幸的是,此方法不直接暴露给模板(为什么????)。
您正在使用的替代方案是
[#assign domain = (state.originalBrowserURL?keep_before('?')?remove_ending(state.originalBrowserURI))!'']
与通过站点读取域的区别在于,它为您提供了用户当前在浏览器中使用的域,因此即使您将站点域配置为指向公共实例,或者当您临时在您的本地主机等等。
推荐阅读
- r - 比较具有多个变量的两组
- swift - PFQuery 使用 for In Loops 将数据添加到 tableview 单元格
- python - 有人可以帮我理解这个关于类变量与实例变量的代码片段吗?
- c# - 从 GitHub https://github.com/dotnet/wpf 构建的 .Net Core 3.1 WPF 存储库
- video - 合并视频文件和字幕
- java - FXML:未指定控制器,而控制器在控制器中指定
- ios - 即使在关闭时如何加载 JSON tableView 并保存数据?
- architecture - 网站后端架构的设计工具
- ios - UITableViewDataSource 没有返回它应该返回的行数
- java - 如何在以泛型数组作为参数的泛型方法中实现 compareTo?