Я добавляю функцию в чат Moodle, чтобы учителя могли отключать ввод текста в чате.
У меня есть выпадающий список в области чата, который учитель может разрешить или запретить вводить текст.
Значение этого раскрывающегося списка отправляется через запрос Ajax.
Мне нужен способ сохранить это значение и затем извлечь его во всех окнах чата (для этого конкретного чата, конечно), чтобы определить, должен ли я включать или отключать область ввода сообщений.
Я искал встроенный API кеша, но он не подходит, и я не могу заставить его работать
http://fossies.org/dox/moodle-2.8.6/md_cache_README.html
Я занимаюсь разработкой на Moodle 2.6
Немного покопавшись и охладившись, я разобрался с решением.
Во-первых, вы должны создать определение в /mod/[[modname]]/db/caches.php
как описано в http://fossies.org/dox/moodle-2.8.6/md_cache_README.html,
Простой пример будет
$definitions = array(
'chatdata' => array(
'mode' => cache_store::MODE_APPLICATION
)
);
В файле модуля вы можете сделать следующее, чтобы начать хранение и извлечение данных.
$cache = cache::make_from_params(cache_store::MODE_APPLICATION, 'core', 'chatdata'); //Declare a handle for the cache
$result = $cache->set('key', 'value'); //Store value
$cache->get('key'); //Retrieve value
Других решений пока нет …