列出来自前端媒体的文件 (OctoberCMS)

List files from the media in the frontend (OctoberCMS)

我对 OctoberCMS 还是比较陌生,想知道我是否可以在我的网站(前端)上动态列出来自媒体区域(后端)的文件。通过 {{ 'banner.jpg'|media }}(文档:https://octobercms.com/docs/markup/filter-media)的经典专用访问已经对我有用了。

我还想输出某些文件属性,例如文件大小和时间戳。这样的事情可能吗?也许有一个例子吗?谢谢。

要从媒体区获取文件,您可以使用 MediaLibrary's Api

Demo, in you page code section use this code it will show you files under / root directory of media area

function onStart() {            
    $folder = '/';
    $mediaLib = \System\Classes\MediaLibrary::instance();
    // it will return us MediaLibraryItem instance     
    $files = $mediaLib->listFolderContents($folder);
    $this['mediaFiles'] = $files;
}

Now, in markup section

<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>

Now you can have all the information you needed. you can also use this code in your component for better control.

输出:

如有疑问请评论。