В общем кому может пригодится. Доработал функцию "available". Позволяет создать что-то вроде мини-каталога. То бишь на дочерней странице выводится все вложенные категории, с обрезкой до нужного количества символов.
Преимущества - можно моздавать неограниченное колличество мини-каталогов.
Недостатки - нету пагинации, и пока не получилось прицепить {cut}.
Собственно код:
Заменяем стандартную запись в файле /plugins/box/pages/pages.plugin.php - у меня это 438 строка
на
public static function available()
{
$pages = Pages::$pages->select('[parent="'.Pages::$requested_page.'"]', 'all');
$current_page = Pages::$page['slug'];
$query = '[parent="'.$current_page.'" and status="published"]';
$posts = Pages::$pages->select($query, array('slug', 'title', 'author', 'date'), 'date', 'DESC');
foreach($posts as $key => $post) {
$post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt')));
$posts[$key]['content'] = mb_substr(Filter::apply('content', $post_short[0]),0,100, 'utf-8');
}
View::factory('box/pages/views/frontend/available_pages')
->assign('pages', $pages)
->assign('contents', $posts)
->assign('current_page', $current_page)
->display();
}
И меняем запись в файле /plugins/box/pages/views/frontentd/available_pages.view.php
на
<?php foreach($contents as $post) {
foreach ($pages as $page) {
if ($post['id'] == $page['id']) {
echo $post['content'];
?>
<li><a href="<?php echo $page['parent'].'/'.$page['slug']; ?>"><?php echo $page['title']; ?></a></li>
<?php
}
}
}
?>
Далее для дочерней странице используете шаблон available, а для вложенных страниц шаблон какой вам необходим.
Если у кого есть замечания пишите, доработаем вместе.
P.S. в php я не селен.