admin-thirdの環境にプラグインのメニューが表示されない

admin-thirdの環境にプラグインのメニューが表示されません。

Plugin\Cname\View\Elements\admin\submenus
のサブメニューに下記内容を記載していますが、
何も表示されていません。

<tr>
  <th>管理メニュー</th>
  <td>
    <ul>
      <li><?php $this->bcBaser->link('A管理', array('admin' => true, 'plugin' => 'cname', 'controller' => 'cnames', 'action' => 'index')) ?></li>
      <li><?php $this->bcBaser->link('B管理', array('admin' => true, 'plugin' => 'cname', 'controller' => 'cnames_b', 'action' => 'index')) ?></li>
    </ul>
  </td>
</tr>

追伸:admin-third以前のバージョンに戻ると、メニューが表示されます。
よろしくお願い申し上げます。

【環境情報】
・baserCMSのバージョン:4.3.5
・レンタルサーバー名:さくら レンタルサーバー
・PHPスキル(自己評価): D

admin-thirdのメニュー表示については旧管理画面とは別の方法がとられています。
設定情報に記述する必要があり、Pluginからであれば下記ファイルに記述できます。
/app/Plugin/{yourPlugin}/Config/setting.php

記述例は下記のようになります。

$config = [
	'BcApp.adminNavigation' => [
		'Contents' => [
			'CnameSample' => [
				'title' => 'プラグイン名称',
				'type' => 'cname_sample',
				'icon' => 'bca-icon--cname',
				'menus' => [
					'CnameSample1' => [
						'title' => 'メニュー1',
						'url' => [
							'admin' => true,
							'plugin' => 'cname_sample',
							'controller' => 'cname_sample',
							'action' => 'index',
						]
					],
					'CnameSample2' => [
						'title' => 'メニュー2',
						'url' => [
							'admin' => true,
							'plugin' => 'cname_sample',
							'controller' => 'cname_sample',
							'action' => 'add',
						]
					]
				]
			]
		]
	],
];

アイコンについては、fontawesomeが利用されていてfreeでregularのものが利用可能なようです。

下記ファイルにアイコン情報をCSSで指定できます。
/app/Plugin/YOUR_PLUGIN/webroot/css/admin/{your_plugin_name}_admin.css

記述例は下記です。

.bca-icon--cname::before {
    content: "\f0a0";
    font-weight: 400;
}

設定の「‘icon’ => ‘bca-icon–cname’,」という箇所とCSSの「.bca-icon–cname::before {」という箇所は合わせる必要があり、cssファイル名はプラグインのフォルダ名をスネークケースに変更した形で自動読み込みされるためファイル名を間違えないよう注意が必要です。

今までの方法と違いますので上記試してみて難しい場合は旧管理画面を利用するか、よく使う項目でカバーしたほうがいいかもしれません。

1 Like

迅速な対応ありがとうございます。
早速チャレンジしてみます。
ありがとうございました。