Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouPedro Alvernaz Alterado mais de 9 anos atrás
1
Desenvolvimento de Plugin de Relatório para Moodle
Desenvolvimento para Moodle Desenvolvimento de Plugin de Relatório para Moodle Lino Vaz Moniz Moodle Moot 2014
2
Sumário Tipos de plugin Estrutura básica de um plugin de relatório Instalação do plugin Cabeçalho e Rodapé do Thema Listar usuário Formulário de filtro de usuário
3
Tipos de Módulo/Plugin
Matrícula moodle/enrol Autenticação moodle/auth Relatório do curso moodle/course/reporter Relatório de nota moodle/grade/repórter Relatório no contexto do sistema moodle/admin/report (até moodle 2.1) moodle/report (a partir de moodle 2.2) Exportação de nota moodle /grade/export Tema (interface gráfica) moodle/theme Formato de curso moodle/course/format
4
Tipos de Módulo/Plugin
Tipo de questão moodle/question/type Atividade moodle/mod Campos para base de dados moodle/mod/data/field Tipo de Atividade tarefa moodle/mod/assignment/type Relatório de questionário moodle/mod/quiz/report Blocos moodle/blocks Campo de perfil de usuário moodle/user/profile/field Plugin deversos moodle/local
5
badiu lang/en/report_badiu.php settings.php version.php index.php
Banco de Dados do Moodle Estrutura Básica do Plugin badiu lang/en/report_badiu.php settings.php version.php index.php
6
$string['pluginname']='Badiu'; $string['alou']='Alou só alegria!';
lang/en/report_badiu.php <?PHP $string['pluginname']='Badiu'; $string['alou']='Alou só alegria!'; ?>
7
<?php defined('MOODLE_INTERNAL') || die; $ADMIN->add(
settings.php <?php defined('MOODLE_INTERNAL') || die; $ADMIN->add( 'reports', new admin_externalpage( 'badiu', get_string('pluginname', 'report_badiu'), "$CFG->wwwroot/report/badiu/index.php“ ) ); $settings = null; ?>
8
<?PHP defined('MOODLE_INTERNAL') || die;
version.php <?PHP defined('MOODLE_INTERNAL') || die; $plugin->version = ; $plugin->requires = ; $plugin->component = 'report_badiu'; ?>
9
<?php require("../../config.php");
index.php <?php require("../../config.php"); echo get_string('alou', 'report_badiu'); ?>
10
Instalação Local: MOODLE_DIR_INSTALACAO/report
11
Finalizar Instalação
12
Acessar o Plugin
13
Página Principal
14
Adicionar Cabeçalho e Rodapé do Thema
<?php require("../../config.php"); //Cabeçalho do thema $context = get_context_instance(CONTEXT_SYSTEM ,1); $PAGE->set_context($context); $PAGE->set_url('/report/badiu/index.php'); $PAGE->navbar->add(get_string('pluginname','report_badiu'), new moodle_url("$CFG->httpswwwroot/report/badiu/index.php")); $PAGE->navbar->add(get_string('lista_usuario','report_badiu')); $PAGE->set_title(get_string('lista_usuario','report_badiu')); $PAGE->set_pagelayout('report'); $PAGE->set_heading(get_string('lista_usuario','report_badiu')); //imprimir cabeçalho echo $OUTPUT->header(); echo get_string('alou', 'report_badiu'); //imprimir rodapé echo $OUTPUT->footer(); ?>
15
Aplicação do Cabeçalho e Rodapé
16
Lista de Usuário Adicionar string no pacote de língua
Extrair lista de usuário do banco de dados Imprimir lista de usuário
17
$string['email']='E-mail';
Lista de Usuário Adicionar String no Pacote de Língua $string['id']='ID'; $string['nome']='Nome'; $string[' ']=' ';
18
function get_usuarios(){ global $DB; global $CFG;
Lista de Usuário Extrair Lista de Usuário do Banco function get_usuarios(){ global $DB; global $CFG; $sql="SELECT id,firstname, FROM {$CFG->prefix}user "; $lista=$DB->get_records_sql($sql); return $lista; }
19
function imprimir_usuarios($lista){ $table = new html_table();
Lista de Usuário Imprimir Lista de Usuário function imprimir_usuarios($lista){ $table = new html_table(); $table->head = array( get_string('id', 'report_badiu'), get_string('nome', 'report_badiu'), get_string(' ', 'report_badiu') ); $table->align = array('left', 'left','left'); $table->width = '95%'; $table->class = 'generaltable'; $table->data = array(); foreach ($lista as $usr) { $table->data[] = array($usr->id,$usr->firstname,$usr-> ); } echo html_writer::table($table);
20
Lista de usuário na Página Principal index.php
//imprimir cabeçalho echo $OUTPUT->header(); //extrair lista de usuários $lista=get_usuarios(); //imprimir lista de usuarios imprimir_usuarios($lista); //imprimir rodapé echo $OUTPUT->footer();
21
Página Principal com a Lista de Usuários
22
Formulário de Filtro do Usuário
Adicionar string no pacote de língua Criar formulário Instanciar formulário Capturar parâmetro Passar parâmetro para SQL
23
Criar Formulário index_form.php
Formulário de filtro de usuário Criar Formulário index_form.php <?php require_once $CFG->libdir.'/formslib.php'; class usuario_form extends moodleform { function definition() { global $param; $mform =& $this->_form; $renderer =& $mform->defaultRenderer(); $mform->addElement('header', '',get_string('pesquisar_usr','report_badiu'), ''); $mform->addElement('text', 'nome', get_string('nome','report_badiu'),'size="20"'); $mform->setType('nome', PARAM_TEXT); $mform->setDefault('nome', $param->nome); $mform->addElement('text', ' ', get_string(' ','report_badiu'),'size="20"'); $mform->setDefault(' ', $param-> ); $this->add_action_buttons(true,get_string('pesquisar','report_badiu')); } function validation($data, $files) { $errors = parent::validation($data, $files); return $errors; } ?>
24
Instanciar Formulário
Formulário de filtro de usuário Instanciar Formulário //importar index_form.php require("$CFG->dirroot/report/badiu/index_form.php"); //instanciar form $form= new usuario_form(); //imprimir form $form->display();
25
Capturar Parâmetro function get_form_parametros(){
Formulário de filtro de usuário Capturar Parâmetro function get_form_parametros(){ $param= new object(); $param->nome=optional_param('nome', NULL,PARAM_TEXT); $param-> =optional_param(' ', NULL,PARAM_TEXT); return $param; }
26
Adicionar Filtro SQL no WHERE
Formulário de filtro de usuário Adicionar Filtro SQL no WHERE function get_usuarios($param){ global $DB; global $CFG; $wsql= get_filtro_sql($param); $sql="SELECT id,firstname, FROM {$CFG->prefix}user WHERE id > 0 $wsql "; $lista=$DB->get_records_sql($sql); return $lista; }
27
Juntar Tudo na Página Principal index.php
Formulário de filtro de usuário Juntar Tudo na Página Principal index.php //imprimir cabeçalho echo $OUTPUT->header(); //receber parâmetros do form $param = get_form_parametros(); //instanciar form $form= new usuario_form(); //imprimir form $form->display(); //extrair lista de usuários $lista=get_usuarios($param); //imprimir lista de usuarios imprimir_usuarios($lista); //imprimir rodapé echo $OUTPUT->footer();
28
Tela com Formulário de Filtro
Formulário de filtro de usuário Tela com Formulário de Filtro
29
Compatível com a versão 2.2 ou superior do Moodle
CÓDIGO FONTE DO PLUGIN BADIU Compatível com a versão 2.2 ou superior do Moodle Versão Descrição Link 1.0 Estrutura básico do plugin 1.1 Adiciona cabeçalho e rodapé do thema 1.2 Relatório de lista de usuário cadastrado no Moodle 1.3 Relatório de lista de usuário cadastrado no Moodle com formulário de filtro
30
Banco de dados http://docs.moodle.org/dev/Data_manipulation_API
API do Moodle API Usado Banco de dados Formulário String Thema
31
Lino Vaz Moniz Telefone
(61) Skype badiu.net
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.