我对OctoberCMS还是比较陌生,想知道是否可以动态列出网站(前端)中媒体区域(后端)中的文件。通过{{'banner.jpg'| media}}(文档:https://octobercms.com/docs/markup/filter-media)进行的经典,专用访问对我来说已经有用。
我还想输出某些文件属性,例如文件大小和时间戳。这样的事情可能吗?也许有一个例子吗?谢谢。
答案 0 :(得分:2)
要从媒体区域获取文件,可以使用MediaLibrary's Api
演示,在您的页面
code
部分使用此代码,它将向您显示媒体区域的/
根目录下的文件
function onStart() {
$folder = '/';
$mediaLib = \System\Classes\MediaLibrary::instance();
// it will return us MediaLibraryItem instance
$files = $mediaLib->listFolderContents($folder);
$this['mediaFiles'] = $files;
}
现在,在
markup
部分
<div>
<h1> files </h1>
<ul>
{% for item in mediaFiles %}
<li>
{% if item.fileType == 'image' %}
<img src="{{ item.publicUrl }}" height="100" width="100"/>
<br/> {{ item.path }}
<br/> {{ item.sizeToString() }}
<br/> {{ item.lastModifiedAsString() }}
{% else %}
{{ item.path }}
<br/> {{ item.sizeToString() }}
<br/> {{ item.lastModifiedAsString() }}
{% endif %}
</li>
{% endfor %}
</ul>
</div>
现在,您可以获取所需的所有信息。您也可以在 您的组件可以更好地控制。
如有任何疑问,请发表评论。