微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何使用SilverStripe显示文件存档

我想在我的网站上显示文件和子目录的目录.我找不到任何例子.

有谁知道如何列出所有文件和目录?

解决方法:

我们可以创建一个AssetListingPage页面,它可以遍历assets目录的内容显示所有文件夹和文件链接.

在AssetListingPage控制器中,我们有一个RootAssets函数,它将返回assets目录中的文件文件夹列表.

AssetListingPage.PHP

class AssetListingPage extends Page {
}

class AssetListingPage_Controller extends Page_Controller {

    public function RootAssets() {
        return File::get()->filter('ParentID', 0);
    }

}

我们为AssetListingPage添加一个循环RootAssets的布局模板.

模板/布局/ AssetListingPage.ss

<div class="content-container">

    <h1>$Title</h1>

    $Content

    <% if $RootAssets %>
    <ul>
        <% loop $RootAssets %>
        <% include AssetList %>
        <% end_loop %>
    </ul>
    <% end_if %>

</div>

我们添加一个包含模板AssetList来递归列出文件夹或文件并列出所有子项.

模板/包括/ AssetList.ss

<li class="$ClassName">
<% if $ClassName == 'Folder' %>
    $Title
    <% if $Children %>
    <ul>
        <% loop $Children %>
        <% include AssetList %>
        <% end_loop %>
    </ul>
    <% end_if %>
<% else %>
    <a href="$Link">$Name</a>
<% end_if %>
</li>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐