■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

管理者ダッシュボード・固定ページ制御

NewPulsar > 管理者ダッシュボード・固定ページ制御 @ 2018/2/22 15:41
2つ程質問させて下さい。

現在BaserCMS4.0.10.1で開発を行っております。

1.ログイン直後の管理者ダッシュボード
  管理者以外のログインの場合、このダッシュボードを表示せず
  作成している画面のTOPを表示したい。

2.固定ページの表示・非表示を制御
  ユーザグループ単位で、作成した画面に表示している固定ページの
  表示・非表示を制御をしたい。

調べたのですが、解決策を見付けられなかった為、質問させて下さい。
申し訳ありませんが、誰かご教授お願いします。
seto > Re: 管理者ダッシュボード・固定ページ制御 @ 2018/2/22 16:26
こんにちは

1.ログイン直後に表示されるページの変更
設定では変更できなかったかと思います。
実現するにはプラグインが必要ですが、該当する機能をもつプラグインは今baserマーケットにないみたいです。
自作するしかないかもしれません...

2.ユーザーグループによる表示の制御
/lib/Baser/View/Helper/BcBaserHelper.php内にあるisAdminUserという関数が、管理者グループかどうかチェックする機能をもっているので参考になると思います。

例:
<?php if ($this->BcBaser->isAdminUser()): ?>
管理者グループのユーザーにのみ表示
<?php endif; ?>

これも、管理者グループ以外の判別を行いたい場合はカスタマイズが必要となりますね。
NewPulsar > Re: 管理者ダッシュボード・固定ページ制御 @ 2018/2/22 16:40
seto様

またお世話になります。
1は普通には無理という事なんですね。
2ですが、個人的に調べた時に、以下の記載がありました。
$user = $this->BcAuth->user()
$grpNm = ($user['UserGroup']['name'])
で、これを固定ページを呼び出すエレメントにて取得し
ifで分岐しようと考えました。

$user = $this->BcAuth->user()
$grpNm = ($user['UserGroup']['name'])
if ( $grpNm == "hoge" ) {
$this->BcBaser->page('/hoge')
} else {
$this->BcBaser->page('/hogehoge')
}

しかし最初の$this->BcAuth->user()で既に失敗しています。

seto > Re: 管理者ダッシュボード・固定ページ制御 @ 2018/2/22 21:05
BcUtil::loginUser()

BcUtil::loginUserGroup()
という関数を見つけました!

この2つを使えば、ユーザー単位、グループ単位で条件を指定できそうですが、いかがでしょう。
NewPulsar > Re: 管理者ダッシュボード・固定ページ制御 @ 2018/2/23 8:45
seto様

バッチリでした!
下記のコードで、制御出来ました。
$userGrpID = BcUtil::loginUserGroup()['id']
if ( $userGrpID == 1 )
  $this->BcBaser->page('/hoge')
else
  $this->BcBaser->page('/hogehoge')
endif

こちらの BcUtil::loginUser()についても['id']で個人単位の
設定が可能でした。

有難うございました。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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