baserCMS専用 サブサイトメニュー表示プラグイン
baserCMSのサブサイト機能
baserCMSでは、標準でサブサイト機能がついており、一つの管理画面から複数のサイトを管理することが可能です。
メインサイトとサブサイトでテーマを分けたり、サブサイトにサブドメインをあてたり、多言語サイトとして使用したり
さまざまな用途で活用できます。
サイトの切り替えは、コンテンツ一覧から行います。
サブサイト機能の使いにくいところ
この2枚の画像、同じ「NEWS」ブログとなっていますが、
片方がメインサイトのもので、もう片方がサブサイトのものです。
ただし、管理画面を見ても、どちらが、サブサイトのものか判別がつけづらいです。
サブサイトが一つ増えただけでもわかりにくい状況なのに、いくつもサブサイトがあったら、管理者にとっては「メインサイトのブログに記事を追加したつもりが、違うサブサイトのブログに記事を追加していて、投稿し直さなければならなくなった」といった事が発生してもおかしくなくなってきます。
また、サブサイトの切り替えがコンテンツ一覧からしかできず、頻繁にそれぞれのサブサイトのコンテンツを更新する必要がある時は、かなり面倒と感じる方もいるのではないかと思います。
そこで、自分は今どこのサイトにいるのかわかりやすくして、管理画面のどこからでも簡単にサブサイトへの切り替えができる機能を開発し、プラグイン化してみました。
SubsiteMenu の使い方
プラグインをダウンロードしてきて、圧縮を解凍します。
解凍してできた SubsiteMenu-main というフォルダを SubsiteMenu にリネームして、使用したいbaserCMSの/app/Plugin/フォルダの中に配置します。
管理画面「プラグイン一覧」より、インストールボタンをクリックして、有効化すれば、即使用が可能です。
サブサイトを使っていれば
ツールバー上にセレクトボックスが表示され、今いるサイトが選択された状態となります。
セレクトボックスでサブサイトを選択すると、サブサイトのコンテンツ一覧へと遷移します。
これでもう自分がどのサイトのブログを更新しているか迷わずに済みますね・・
管理画面のみが対象となり、公開側のページで表示されるツールバーには表示されません。
また、ユーザーグループやユーザーごとに更新できるブログを絞った運用している場合、全てのユーザーでメインサイトや他のサブサイトが見えてしまったりすると都合が悪い場合もあるため、Config/setting.phpにて、ユーザー・ユーザーグループを絞り込めるようにしています。
デフォルトでは下記のように、ユーザーIDが1のユーザーか、ユーザーグループが1か3のユーザーだけに表示されるようになっています。
$config['SubsiteMenu'] = [
// 表示するログインユーザーのID
'loginUser' => [1],
// 表示するログインユーザーグループのID
'loginUserGroup' => [1, 3],
];
ここを調整して、見せるユーザーと見せないユーザーを分けるようにすると良いと思います。
まとめ
普段baserCMSでサイトを開発している人たちに少しでも楽をしてもらおうと開発したプラグインですが、
評判が良ければ、baserCMS本体の機能に取り込んでもらえるといいな〜と思います。