Moodle 消息块不显示新消息
Moodle Messages Block not showing new messages
我正在使用 Moodle 2.9。
我已将消息块添加到 moodle 网站并使其显示在该网站的每个页面上。但是在用户收到系统上的新消息后(他们显示在他们个人资料的消息区域),该块只是说 "No messages waiting"??
这个块有问题还是moodle中有什么设置可以激活这个?
任何关于这方面的建议都很棒!
似乎直接通过消息区域发送的消息出现在块中,但我正在使用 Activity Mod 中的 message_send() 函数并且这些消息确实没有出现在块中,但它们出现在消息部分?有没有我遗漏的代码?
$message = new \core\message\message();
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = $userfrom;
$message->userto = $userto;
$message->subject = 'Test';
$message->fullmessage = 'Test.';
$message->fullmessageformat = FORMAT_HTML;
$message->fullmessagehtml = '<p>Text</p>';
$message->smallmessage = '';
$message->notification = '1';
$message->contexturl = '';
$message->contexturlname = '';
$message->replyto = "";
$content = '';
$messageid = message_send($message);
已解决
消息块仅显示设置为不通知的消息。所以通知对象需要设置为“0”,它不会在Moodle中显示弹出窗口,但会出现在块中。
或者您可以在此处更改块本身,以允许所有消息传递到块中,无论通知设置是什么:-
moodle\blocks\messages\block_messages.php
将第 58 行的 SQL 查询更改为:-
$users = $DB->get_records_sql("SELECT $ufields, COUNT(m.useridfrom) AS count
FROM {user} u, {message} m
WHERE m.useridto = ? AND u.id = m.useridfrom AND m.notification = 0
GROUP BY $ufields", array($USER->id));
至
$users = $DB->get_records_sql("SELECT $ufields, COUNT(m.useridfrom) AS count
FROM {user} u, {message} m
WHERE m.useridto = ? AND u.id = m.useridfrom
GROUP BY $ufields", array($USER->id));
我正在使用 Moodle 2.9。
我已将消息块添加到 moodle 网站并使其显示在该网站的每个页面上。但是在用户收到系统上的新消息后(他们显示在他们个人资料的消息区域),该块只是说 "No messages waiting"??
这个块有问题还是moodle中有什么设置可以激活这个?
任何关于这方面的建议都很棒!
似乎直接通过消息区域发送的消息出现在块中,但我正在使用 Activity Mod 中的 message_send() 函数并且这些消息确实没有出现在块中,但它们出现在消息部分?有没有我遗漏的代码?
$message = new \core\message\message();
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = $userfrom;
$message->userto = $userto;
$message->subject = 'Test';
$message->fullmessage = 'Test.';
$message->fullmessageformat = FORMAT_HTML;
$message->fullmessagehtml = '<p>Text</p>';
$message->smallmessage = '';
$message->notification = '1';
$message->contexturl = '';
$message->contexturlname = '';
$message->replyto = "";
$content = '';
$messageid = message_send($message);
已解决
消息块仅显示设置为不通知的消息。所以通知对象需要设置为“0”,它不会在Moodle中显示弹出窗口,但会出现在块中。
或者您可以在此处更改块本身,以允许所有消息传递到块中,无论通知设置是什么:-
moodle\blocks\messages\block_messages.php
将第 58 行的 SQL 查询更改为:-
$users = $DB->get_records_sql("SELECT $ufields, COUNT(m.useridfrom) AS count
FROM {user} u, {message} m
WHERE m.useridto = ? AND u.id = m.useridfrom AND m.notification = 0
GROUP BY $ufields", array($USER->id));
至
$users = $DB->get_records_sql("SELECT $ufields, COUNT(m.useridfrom) AS count
FROM {user} u, {message} m
WHERE m.useridto = ? AND u.id = m.useridfrom
GROUP BY $ufields", array($USER->id));