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

时间:2019-09-21 08:14:24

标签: octobercms octobercms-backend

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

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

1 个答案:

答案 0 :(得分:2)

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

  

演示,在您的页面code部分使用此代码,它将向您显示媒体区域的/根目录下的文件

enter image description here

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>
  

现在,您可以获取所需的所有信息。您也可以在   您的组件可以更好地控制。

输出:

enter image description here

如有任何疑问,请发表评论。