Kentico 媒体图书馆相关 URL

Kentico Media Library Relative URL

我们有一个 Kentico 项目,我们在其中使用 Azure Blob 存储作为我们的媒体存储。在页面中选择媒体文件时,它会像这样存储 URL:www.ourhost.net/blobcontainer/kenticosite/media/medialibrary/picture.jpg

我们也在使用 ImageProcessor.org。这仅在通过主机本身请求图像时有效,因此我们需要媒体库选择器来存储绝对 URL,如下所示:/blobcontainer/kenticosite/media/medialibrary/picture.jpg

如何做到这一点?

提前致谢。尼古拉斯.

我猜你说的是 Media selection 表单控件,对吗?

在这种情况下,解决方案是 从表单控件存储的绝对 URL 中删除 protocol/domain。您可以通过创建 Custom macro 来完成此操作,因为您正在使用 Portal 引擎宏。

宏的目的只是将绝对值 URL 变成相对值 URL。

而不是使用这个:

<img src="{% CurrentDocument["HeaderImage"] #%}" alt="{% CurrentDocument["Title"] #%}" />

你可以这样称呼它:

<img src="{% MyMacros.GetRelativeUrl(CurrentDocument["HeaderImage"]) #%}" alt="{% CurrentDocument["Title"] #%}" />

如您所见,我使用的是 "MyMacros" 命名空间,这是最佳做法,因为它可以让您组织所有宏。您可以根据 this article

创建自定义命名空间