パンくずの階層について

【環境情報】
・baserCMSのバージョン:4.0.8
・レンタルサーバー名:XSERVER
・使用テーマ:オリジナル
・PHPスキル(自己評価):D

現状、パンくずをテーマ内の Elements ディレクトリのcrumbs.phpで表示しているのですが、
(※crumbs.phpの中身はコアファイルと同じものです。構造化出力のために

<?php $this->BcBaser->crumbsList(['onSchema' => true]); ?>にて出力しています。)

例えば新着情報の一覧の際、パンくずは
ホーム > 新着情報
となりますが、記事の詳細にいくと
ホーム > 記事のタイトル
となります。
理想としては
ホーム > 新着情報 > 記事のタイトル
となって欲しいのですが、これはどこか管理画面等で階層を調整する設定があるのでしょうか?
それともcrumbs.phpをカスタマイズするしかないのでしょうか?

後者の場合、自分はマークアップエンジニアなのでcrumbs.phpをカスタマイズするほどPHPスキルがないのですが、カスタマイズ方法をご教授いただけないでしょうか?

Gentarou_Nakamura さん

管理画面の「コンテンツ一覧」にて、サイト内コンテンツはどのようなツリー構造で配置されてますでしょうか?

例えば、下記のようなツリー構造となっていた場合、

:file_folder: 「Webサイトタイトル」で設定したサイト名
:page_facing_up: ホーム(index) … 固定ページ
:page_facing_up: 新着情報(news) … ブログ

ブログのトップページ( https://example.com/news/ )でのパンくずは

ホーム > 新着情報

個別記事( https://example.com/news/archives/{記事No.} )でのパンくずは

ホーム > 新着情報 > {個別記事が属するカテゴリ名} > 個別記事タイトル
(記事にカテゴリを設定してなければ {個別記事が属するカテゴリ名} は非表示)

と表示されるはずなのですが、いかがでしょうか?

「コンテンツ一覧」のスクリーンショットを投稿いただけると、解決のヒントになるかもしれませんね(差し支えある箇所は、ぼかし処理などしていただいた上で)。

ご返信ありがとうございます。

URL的には
新着情報一覧が
https://narita-bitte.com/news/
で、詳細が
https://narita-bitte.com/news/archives/25
と仰ってあるような、本来階層が出るはずのようなURLなんですが、
パンくずは
ホーム> 記事タイトル
となってしまいます。

コンテンツ管理も仰ってある形かと思うんですが…
image

crumbs.phpもそのままだと思います。

<?php
/**
 * 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
 */

/**
 * [PUBLISH] ナビゲーション
 *
 * ページタイトルが直属のカテゴリ名と同じ場合は、直属のカテゴリ名を省略する
 */
if(!isset($separator)) {
	$separator = '&nbsp;&gt;&nbsp;';
}
if(!isset($home)) {
	$home = 'ホーム';
}
$crumbs = $this->BcBaser->getCrumbs();
if (!empty($crumbs)) {
	foreach ($crumbs as $key => $crumb) {
		if ($this->BcArray->last($crumbs, $key)) {
			if ($this->viewPath != 'home' && $crumb['name']) {
				$this->BcBaser->addCrumb($crumb['name']);
			}
		} else {
			$this->BcBaser->addCrumb($crumb['name'], $crumb['url']);
		}
	}
} elseif (empty($crumbs)) {
	if ($this->name == 'CakeError') {
		$this->BcBaser->addCrumb('404 NOT FOUND');
	}
}
?>


<?php if(empty($onSchema)): ?>
<?php 
	if ($this->BcBaser->isHome()) {
		echo $home;
	} else {
		$this->BcBaser->crumbs($separator, $home);	
	}
	?>
<?php else: ?>
<ul itemscope itemtype="http://schema.org/BreadcrumbList">
	<?php if ($this->BcBaser->isHome()): ?>
	<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
		<span itemprop="name"><?php echo $home ?></span>
		<meta itemprop="position" content="1" />
	</li>
	<?php else: ?>
	<?php $this->BcBaser->crumbs($separator, $home, true) ?>
	<?php endif ?>
</ul>
<?php endif ?>

うーん…謎ですね…

パンくずリストの出力には /lib/Baser/View/Helper/BcBaserHelper.php ファイル内の

/**
 * パンくずリストを出力する
 * 
 * 事前に BcBaserHelper::addCrumb() にて、パンくず情報を追加しておく必要がある。
 * また、アクセス制限がかかっているリンクはテキストのみ表示する
 *
 * @param string $separator パンくずの区切り文字(初期値 : &raquo;)
 * @param string|bool $startText トップページを先頭に追加する場合にはトップページのテキストを指定する(初期値 : false)
 * @return void
 */

に続く

	public function crumbs($separator = '&raquo;', $startText = false, $onSchema = false) {
《中略》
		echo $out;
	}

の箇所も関係しているので(この箇所で構造化属性を加えたパンくずリストを生成している)、お使いの baserCMS(バージョン 4.0.8 ですよね?)の当該箇所と

https://raw.githubusercontent.com/baserproject/basercms/basercms-4.0.8/lib/Baser/View/Helper/BcBaserHelper.php 内の当該箇所を比較されてはいかがでしょうか?