dongzongxun8491
2016-06-29 05:07 阅读 26
已采纳

在totara / moodle的自定义块中的edit_form.php

I have created a custom block "blockpre" in totara which will show the results of assignments.In edit_form.php of my block blockpre i added some extra elements in mform for my block.

in edit_form.php i have created a class "block_blockpre_edit_form" which extends "block_edit_form" (standard class). I have added standard elements in mform and also 1 extra element.

The problem is that i'm unable to access the value of standard as well as extra element added. i have tried using $mform->get_data on view page of my block but its not working on any of the block pages.

Is there some standard way to access the value of mform element ?

edit_form.php

<?php

class block_blockpre_edit_form extends block_edit_form {

    protected function specific_definition($mform) {

        // Section header title according to language file.
        $mform->addElement('header', 'configheader', get_string('blocksettings', 'block'));

        // A sample string variable with a default value.
        $mform->addElement('text', 'config_text', get_string('blockstring', 'block_blockpre'));
        $mform->setDefault('config_text', 'default value');
        $mform->setType('config_text', PARAM_MULTILANG);  

            $mform->addElement('header', 'configheader', get_string('blocksettings1', 'block_blockpre'));

          global $CFG, $OUTPUT,$DB,$USER;
           $courseid = $_REQUEST['id'];
             $sel="select id,name from {assign} where course=".$courseid;
             $sel1= $DB->get_records_sql($sel);

               foreach($sel1 as $s)
            {mform element
                         $dis=$s->id;
                         $namem=$dis;

                         $mform->addElement('advcheckbox','assignid',$s->name,null, array('name' => $namem),$namem);       //extra element


            }
    }


}



?>

Thanks for help in advance.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    doufan1899 doufan1899 2017-06-02 13:06

    You can display form data with $mform->render();

    Or use the data internally with $mform->set_data();

    点赞 评论 复制链接分享

相关推荐