Re: メニューを表示する関数についておしえてください

akillerbee > Re: メニューを表示する関数についておしえてください @ 2017/10/26 11:02
こんにちは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

以上、宜しくお願い致します。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
17 人のユーザが現在オンラインです。 (15 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 17