Как получить абсолютный URL-адрес страницы? - PullRequest
1 голос
/ 15 апреля 2020

Я могу получить относительный URL страницы, используя шаблонную функцию cmsfn.link . Например:

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

Как получить абсолютный URL-адрес страницы? Например:

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

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

В идеале вы могли бы вызывать LinkUtil.createExternalLink(content), к сожалению, этот метод не напрямую связан с шаблонами (почему ????).

Альтернативой тому, что вы используете, является

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

Отличие от чтения домена по сайту заключается в том, что он дает вам домен, который в данный момент используется в браузере пользователем, поэтому он будет отлично работать на экземпляре автора, даже если у вас настроены доменные сайты, указывающие на экземпляры publi c или когда вы временно запускаете конфигурацию на своем локальном хосте и т. д.

1 голос
/ 15 апреля 2020

Используйте шаблонную функцию sitefn , чтобы получить домен и объединить его с cmsfn.link. Например:

[#assign site = sitefn.site(content)]
[#assign relativeURL = cmsfn.link(content)?remove_beginning("/" + site.name)]
[#assign domain = site.domains[0].name]

https://${domain + relativeURL}
...