OctoberCMS获取内容文件列表

时间:2018-03-21 20:31:25

标签: php octobercms

尝试使用cont *

启动内容文件

使用:

Content::loadCached('theme', 'listOfContentFiles');

收到错误。 我可以得到一个,但不是列表。

1 个答案:

答案 0 :(得分:2)

似乎没有直接的方法,您可以使用此代码手动获取列表并自行过滤

use Cms\Classes\Content;
use Cms\Classes\Theme;

$activeTheme =  Theme::getActiveTheme();
$instance = Content::inTheme($activeTheme);

$items = $instance->newQuery()->lists('fileName');

$loadedItems = [];
foreach ($items as $item) {

    // we need to manually filter data you can
    // add more logic here for sub directory parsing etc
    if(starts_with($item, 'cont_')) {
        $loadedItems[] = Content::loadCached($activeTheme, $item);
    }
}

dd($loadedItems);

// if you want to make it collection
$result = $instance->newCollection($loadedItems);

它将通过我们的过滤器逻辑返回活动主题中的内容文件列表。