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
创建自定义命名空间
我们有一个 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
创建自定义命名空间