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

Re: 管理者ダッシュボード>「最近の動き」の表示内容をユーザーグループで分岐したい

funi > Re: 管理者ダッシュボード>「最近の動き」の表示内容をユーザーグループで分岐したい @ 2015/4/22 15:53
n1215さま

度々ご回答頂きありがとうございます。
引用:
・Dblogというインデックス(index)が定義されていない(Undefined)
・エラーはapp/webroot/theme/***/Elements/admin/dashboard/index_dblog_list.phpの52行目で発生している。

ここまでは理解していたのですが、原因がわからず質問させて頂きました。
お教え頂いたデバッグ用コードを挿入して確認したところ以下のような結果になりました。

最近の動き エラー時:1個目
array(1) { 
[0]=> array(23) { 
["*"]=> string(1) "6" 
[1]=> string(45) "記事「テスト」を追加しました。" 
[2]=> string(1) "2" 
[3]=> string(19) "2015-04-22 13:17:20" 
[4]=> string(19) "2015-04-22 13:17:20" 
[5]=> string(1) "2" 
[6]=> string(3) "optest" 
[7]=> string(40) "a057a551654beadf0feb6e1434c514774fc15487" 
[8]=> string(6) "苗字" 
[9]=> string(6) "名前" 
[10]=> string(18) "none@email.com" 
[11]=> string(1) "2" 
[12]=> string(0) "" 
[13]=> string(19) "2015-04-22 13:16:09" 
[14]=> string(19) "2015-04-22 13:16:09" 
[15]=> string(1) "2" 
[16]=> string(9) "operators" 
[17]=> string(15) "サイト運営" 
[18]=> string(5) "admin" 
[19]=> string(1) "0" 
[20]=> string(652) "YTo1OntpOjA7YToyOntzOjQ6Im5hbWUiO3M6MjE6IuWbuuWumuODmuODvOOCuOeuoeeQhiI7czozOiJ1cmwiO3M6MTg6Ii9hZG1pbi9wYWdlcy9pbmRleCI7fWk6MTthOjI6e3M6NDoibmFtZSI7czoxODoi5paw552A5oOF5aCx566h55CGIjtzOjM6InVybCI7czozMDoiL2FkbWluL2Jsb2cvYmxvZ19wb3N0cy9pbmRleC8xIjt9aToyO2E6Mjp7czo0OiJuYW1lIjtzOjI0OiLjgYrllY/jgYTlkIjjgo/jgZvnrqHnkIYiO3M6MzoidXJsIjtzOjMxOiIvYWRtaW4vbWFpbC9tYWlsX2ZpZWxkcy9pbmRleC8xIjt9aTozO2E6Mjp7czo0OiJuYW1lIjtzOjIxOiLlj5fkv6Hjg6Hjg7zjg6vkuIDopqciO3M6MzoidXJsIjtzOjMzOiIvYWRtaW4vbWFpbC9tYWlsX21lc3NhZ2VzL2luZGV4LzEiO31pOjQ7YToyOntzOjQ6Im5hbWUiO3M6MTg6IuOCs+ODoeODs+ODiOS4gOimpyI7czozOiJ1cmwiO3M6MzM6Ii9hZG1pbi9ibG9nL2Jsb2dfY29tbWVudHMvaW5kZXgvMSI7fX0=" 
[21]=> NULL 
[22]=> string(19) "2015-02-16 11:50:13" } } 


n1215さま の参考例と同様かとは思いますが、元は以下のようになっています。
最近の動き エラーなし:1個目(DashboardController.php コアのまま)
array(2) { 
["Dblog"]=> array(5) { 
 ["id"]=> string(1) "6" 
 ["name"]=> string(45) "記事「テスト」を追加しました。" 
 ["user_id"]=> string(1) "2" 
 ["created"]=> string(19) "2015-04-22 13:17:20" 
 ["modified"]=> string(19) "2015-04-22 13:17:20"
} 
["User"]=> array(10) { 
 ["id"]=> string(1) "2" 
 ["name"]=> string(3) "optest" 
 ["password"]=> string(40) "a057a551654beadf0feb6e1434c514774fc15487" 
 ["real_name_1"]=> string(6) "苗字" 
 ["real_name_2"]=> string(6) "名前" 
 ["email"]=> string(18) "none@email.com" 
 ["user_group_id"]=> string(1) "2" 
 ["nickname"]=> string(0) "" 
 ["created"]=> string(19) "2015-04-22 13:16:09" 
 ["modified"]=> string(19) "2015-04-22 13:16:09" }
} 


エラーの場合も、ユーザーグループ名などの値は格納されているようですが、Dblogを含めキーがセットされていない形です。
どこでそうなったのか、DashboardController.php を見比べてみるものの私には、到底理解できそうにありません。

これを見ると、投稿者の user_group_id はオリジナルでも参照出来るようですので、ユーザーグループ名ではなくユーザーグループIDでテンプレートにて判別することが出来るのではないかと考え
app/webroot/theme/***/Elements/admin/dashboard/index_dblog_list.php にて
<ul class="clear">
<?php foreach ($viewDblogs as $record): ?>
	<?php if ($record['User']['user_group_id'] >= $user['user_group_id']): ?>
		<li><span class="date"><?php echo $this->BcTime->format('Y.m.d', $record['Dblog']['created']) ?></span>
		<small><?php echo $this->BcTime->format('H:i:s', $record['Dblog']['created']) ?>&nbsp;
		<?php
		$userName = $this->BcBaser->getUserName($record['User']);
		if ($userName) {
		echo '[' . $userName . ']';
		}
		?>
		</small><br />
		<?php echo $record['Dblog']['name'] ?></li>
	<?php endif; ?>
<?php endforeach; ?>
</ul>

としてみたのですが、先にご指摘頂いた通りページネーションが上手くいかない問題が残ってしまいます。

同じバージョンで試して頂いてもエラーが出ないとのことで、これ以上お手数をおかけするのも申し訳ないので、もう少し試行錯誤してみて駄目なようでしたら operators 以下はページネーションを外しても良いかと思っています。

色々とお手数をおかけした上に解決も出来ず申し訳ありませんが、n1215さまには心より感謝申し上げます。

■ BaserCMS Ver:3.0.6.1 〜 4.1.0.1
■ サーバー名:lolipop
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ、サブドメイン等
■ 利用しているDB:SQLite

ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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