【问题标题】:How do you link to a media item by ID outside Zotonic?您如何在 Zotonic 之外通过 ID 链接到媒体项目?
【发布时间】:2013-06-09 17:51:55
【问题描述】:

创意团队希望能够使用 Zotonic 来管理在主网站之外使用的图像。为了做到这一点,他们目前链接到图像如下:

<img src="http://example.com/media/inline/2010/10/29/image.jpg" />

这有一个巨大的缺陷。每次在 Zotonic 中替换这些图像之一时,文件名都会更改。如果替换发生在不同的日期,则文件的路径会更改。这意味着他们必须替换 Zotonic 中的图像,然后还要更新其他网站上的 HTML。

假设有问题的媒体项目的 ID 为 575。我想让它们链接到图像,如下所示:

<img src="http://example.com/media/575" />

如何在 Zotonic 之外通过 ID 链接到媒体项目?

【问题讨论】:

    标签: zotonic


    【解决方案1】:

    阅读您的问题后,我对resource_file_readonly 做了一个小改动,并添加了两个dispath 规则:

    {media_attachment, ["media","attachment","id",id], ... },
    {media_inline, ["media","inline","id",id], ... }
    

    这允许像这样的图像标签:

    <img src="http://example.com/media/inline/id/575" />
    

    此更改现在在默认分支 (0.6-dev) 的尖端可用。

    【讨论】:

    • 请注意,文件带有缓存标头,这意味着访问者可能需要一段时间才能看到图像更改。这就是为什么在媒体标签中使用(唯一)文件名的原因。
    • 关于缓存的好点。谢谢你,马克。外部页面大多是一次性访问页面,因此在我们的例子中缓存应该是无害的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    相关资源
    最近更新 更多