会員管理 デバッグ出力レベル2でNoticeエラー

投稿日時: 2020/10/23 Yoshinori

NetCommons-3.3.2でデバッグ出力レベル2で会員制サイトを構築中です。

会員項目設定で項目を2段目まで増やしました。その後、会員管理画面を開いたところ、Noticeエラーが表示されました。

1行目のエラーは以下のとおりです。

Notice (8): Undefined index: name [APP/Plugin/Users/Model/UserSearchAppModel.php, line 78]
Code Context

}

$label = $userAttr['name'];

2行目以降は同じエラーが延々と続きます。

Notice (8): Undefined index: id [APP/Plugin/Users/Model/UserSearchAppModel.php, line 143]
Code Context

if (isset($userAttribute['UserAttributeChoice'])) {
foreach ($userAttribute['UserAttributeChoice'] as $choice) {
if ($choice['user_attribute_id'] == $userAttr['id']) {

特別変わったことをしていませんので、システムが正しいのか疑問に感じています。プラグインファイルに傷がついたのかもしれないと考えて、UserAttributes, UserManager, UserRoles, Usersプラグインをいったん削除して、再度配置し直し、プラグイン管理でアップデートしても、現象は同じです。

デバッグ出力レベルを0にするとNoticeエラーは消えますが、会員管理画面で情報をエクスポートしようとすると、The requested file was not foundと表示されて上手くいきません。

$userAttrに関する記述を同じファイルで見ると、以下のようになっています。

$userAttr = [];
foreach ($userAttributes as $arr) {
foreach ($arr as $item) {
foreach ($item as $userAttribute) {
if ($userAttribute['UserAttribute']['key'] === $attrKey) {
$dataTypeKey = $userAttribute['UserAttributeSetting']['data_type_key'];
$userAttr = $userAttribute['UserAttribute'];
break;
}
}
}
}

PHPにあまり詳しくありませんが、$userAttrに最終的に格納されるのは、配列$userAttributeの最後の項目となりますが、それでいいのでしょうか?

PHPのバージョンは7.2.24です。

困っています。助けてください。

Re: 会員管理 デバッグ出力レベル2でNoticeエラー

投稿日時: 2020/10/29 よっちゃん

NetCommons3.0.1で運用していた別のWEBサイトでも試してみました。

会員管理画面で情報をエクスポートしようとすると、やはり、The requested file was not foundと表示されて上手くいきません。

会員項目管理のNoticeエラーとは別の原因・現象かもしれません。Noticeエラーはデバッグ出力レベルを0にすることで当面解決できますが、会員情報をエクスポートできないというのは問題です。