こんにちはakillerbeeです。
ヘルパ「contentsMenu」の使用方法ですがサンプルテーマ「bc_sample」のウィジェットのエレメントの処理が参考になるかと思います。
lib/Baser/Config/theme/bc_sample/Elements/widgets/local_navi.php
<?php
/**
* [PUBLISH] ローカルナビゲーションウィジェット
*
* baserCMS : Based Website Development Project <http://basercms.net>
* Copyright (c) baserCMS Users Community <http://basercms.net/community/>
*
* @copyright Copyright (c) baserCMS Users Community
* @link http://basercms.net baserCMS Project
* @package Baser.View
* @since baserCMS v 0.1.0
* @license http://basercms.net/license/index.html
*/
/**
* $this->BcBaser->widgetArea('ウィジェットエリアNO') で呼び出す
* 管理画面で設定されたウィジェットエリアNOは、 $widgetArea で参照できる
*/
if(empty($this->request->params['Content'])) {
return;
}
if($this->request->params['Content']['type'] == 'ContentFolder') {
$parentId = $this->request->params['Content']['id'];
$title = $this->request->params['Content']['title'];
} else {
$parent = $this->BcContents->getParent($this->request->params['Content']['id']);
$parentId = $parent['Content']['id'];
$title = $parent['Content']['title'];
}
if(@$parent['Content']['site_root']) {
return;
}
?>
<div class="widget widget-local-navi widget-local-navi-<?php echo $id ?>">
<?php if ($use_title): ?>
<h2><?php echo h($title) ?></h2>
<?php endif ?>
<!-- /Elements/page_list.php -->
<?php $this->BcBaser->contentsMenu($parentId, 1, $this->request->params['Content']['id']) ?>
</div>
現在表示しているコンテンツがフォルダであれば第1、第3引数はこのコンテンツ(フォルダ)のコンテンツIDをセット、フォルダでなければ親コンテンツ(フォルダ)を走査して親コンテンツのコンテンツIDをセットしているようです。その際階層を「1」に設定しています。
このように実装すればフォルダ以下のコンテンツ一覧を表示できるのではないかと思います。
※下記のファイルでレイアウトの調整が可能です。
theme/bccolumn/Elements/contents_menu.php
以上、宜しくお願い致します。