Grav CMS上传文件URL获取问题:如何正确显示文件链接?
解决Grav CMS文件上传字段链接显示问题
我遇过不少人碰到这个问题,其实核心是没搞清楚Grav的file类型字段存储逻辑——它存的不是单纯的URL字符串,而是包含文件所有详情的数组对象,直接调用字段名自然会返回数组,得提取里面的具体属性才能生成有效链接。
正确的链接调用方式
Grav上传文件后,会在存储的数组里包含url(前端可访问的完整URL)、name(文件名)、path(服务器本地路径)等属性。你需要指定调用url属性来生成可点击的链接:
<a href="{{ header.custom.portsPositionFile.url }}">my link</a>
更严谨的写法(避免空值报错)
为了防止没有上传文件时模板抛出错误,建议加上判断逻辑,只有当文件存在时才显示链接:
{% if header.custom.portsPositionFile %} <a href="{{ header.custom.portsPositionFile.url }}">Download Port Position List</a> {% else %} <p>No file uploaded yet.</p> {% endif %}
额外小技巧
如果需要显示上传的文件名,可以调用name属性:
{{ header.custom.portsPositionFile.name }}
内容的提问来源于stack exchange,提问作者MMPL1
相关产品推荐
相关产品推荐

