列出来自前端媒体的文件 (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.
输出:
如有疑问请评论。
我对 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.
输出:
如有疑问请评论。