Создать расширенную отчетность - Moodle - PullRequest
0 голосов
/ 07 февраля 2012

Я действительно новичок в Moodle, и у меня есть эта расширенная функциональность, чтобы как можно быстрее создать сайт Moodle для клиента.Я много читал о Moodle через его документацию и любые другие онлайн-ресурсы, которые я смог найти, но подумал о том, чтобы получить помощь от экспертов здесь.

Я с нетерпением жду создания расширенной функции создания отчетов, в которой пользователи с различными ролями могут просматривать расширенные отчеты (высокий уровень, уровень обзора, отдельные лица) в своей иерархии.

Данные отчета будут основаны на иерархии организации, т. Е., Скажем, менеджер может просматривать отчет отдела, в отделе он может выбрать любой из разделов, в разделе он может выбрать любую область и, в конечном счете, любого человека в пределахэтой области.

Мне нужно написать отдельный плагин для этого, чтобы будущие обновления не перевешивали изменения.Может ли кто-нибудь дать мне отправную точку в том, как это сделать?Были бы полезны какие-либо ссылки, указатели или предложения, так как я сейчас новичок в Moodle?

1 Ответ

0 голосов
/ 17 февраля 2012

Вам необходимо поместить этот плагин в папку / local и предоставить доступ к его страницам по ссылкам, добавленным в основной блок навигации.Это можно сделать, поместив следующую функцию в /local/myplugin/lib.php, которая будет автоматически выбрана:

myplugin_extends_navigation(global_navigation $navigation) {
    // Read the docs for get_context_instance and look at other uses to see what params you need
    $usercontext = get_context_instance(CONTEXT_USER, $USER->id, MUST_EXIST);

    // You will need to define some capabilities or use existing ones. If the user is allowed, they see the link below
    if (has_capability('whatevercapability', $context)) {

        // Adds a link
        $node_schedule = $nodecoursework->add('Submission Schedule',
                                              new moodle_url('/local/myplugin/sub.php'),
                                              navigation_node::TYPE_CUSTOM,
                                              'Submission Schedule',
                                              'Submission Schedule');
    }
}

Страницы отчета затем помещаются в папку в виде отдельных файлов (sub.php вэтот пример).Ищите класс html_table () для создания отчета, а также его подклассы на основе sql.

Документы для создания локального плагина: здесь , и вы можете увидеть пример здесь .

...