如何在Moodle的按钮监听器上设置按钮?

时间:2019-04-07 11:34:23

标签: php moodle

我正在尝试制作一个简单的Moodle块,其中包含一个编辑文本元素,一个按钮和一个标签。当用户在编辑文本元素中键入一些文本并单击按钮时,输入的文本将保存在db中,页面将重新加载,保存的文本将从db中读取并显示在标签上。我正在使用渲染器来阻止内容,并且已经实现了用于从db保存和获取数据的功能。如何设置按钮的单击侦听器,如何在单击按钮时告诉渲染器执行指定的功能?另外,如何获取用户键入的文本?下面是我的渲染器和块的代码。

阻止:

list_from_set = list(set(list_even))
>>> print(list_from_set)
[2, 4, 6, 8, 10, 12]

渲染器:

class block_ivas_block extends block_base { 

public function init() {
    $this->title = get_string('pluginname', 'block_ivas_block');
}

public function get_content() {
    if ($this->content !== null) {
        return $this->content;
    }
    $text = $this->get_db_data();

    $renderer = $this->page->get_renderer('block_ivas_block');
    $this->content =  new stdClass();
    $this->content->text = $renderer->get_mcontent($text);

    return $this->content;
}

public function get_db_data(){
    $output = 'DB data:';

    global $DB;
    $records = $DB->get_records('block_ivas_block');

    foreach($records as $r){
        $output.= " ";
        $output.= $r->proba;
    }

    return $output;
}

public function save_db_data($data){
    global $DB;
    $record = new stdClass();
    $record->proba = $data;
    $DB->insert_record('block_ivas_block', $record);
}


public function btn_action(){
   // global $CFG;
    //$this->save_db_data($data);
   // $url = $this->page->url;
   // redirect($url);
}
}

0 个答案:

没有答案