我通过Moodle mForm中的参数访问过去的数据?

时间:2014-09-10 17:28:14

标签: php moodle

我需要获取" mForm"的参数值。 moodle形式,不知道如何。

我应该添加静态字段" Date Created"到课程的编辑部分,而不是显示为Unix时间戳。

对此有以下结论:

$fecha_creacion = date('m/d/Y', xxxxxxxxx);

$mform->addElement('static', 'desc' , 'Fecha de Creación');

$mform->setDefault('desc', $fecha_creacion);

他" xxxxxxxxx"是" mdl_couse"中从BD获得的整数值。表格(' timecreated')。

因此我需要获取整数值,该值与传入的参数相同:

$mform->addElement('static', 'timecreated' , 'Fecha de Creación');

我是moodle的新手。 非常感谢你。

3 个答案:

答案 0 :(得分:1)

Moodle使用HTML_QuickForm,因此您应该可以查看http://pear.php.net/package/HTML_QuickForm/docs/latest/上的文档。

如果我理解正确,在这种情况下你需要的东西是:

$mform->getElementValue('timecreated');

希望这有帮助。

答案 1 :(得分:1)

您可以将参数传递给表单

在edit.php文件中

// Get the course record that you want.
$course = $DB->get_record('course', array('id' => $id));

// Pass the time created value in an array.
$customdata = array('timecreated' => $course->timecreated);
$form = new edit_form(null, $customdata);

然后在你的edit_form.php文件中

class edit_form extends moodleform {

    public function definition() {

        $mform =& $this->_form;

        // Copy the timecreated value.
        $timecreated = $this->_customdata['timecreated'];
        // Pass timecreated as the 4th parameter - userdate() will display the date in the users locale.
        // You should also use get_string() to display the label in the users language.
        $mform->addElement('static', 'timecreated', get_string('timecreated', 'yourpluginname'), userdate($timecreated));

答案 2 :(得分:0)

<强>解决方案:

    $customdata = array('timecreated' => $course->timecreated);
    $fecha_c = $customdata['timecreated'];

    $fecha_c = $course->timecreated; 

获得时间创造值

    $fecha_creacion = date('d/m/Y',$fecha_creacion);
    $mform->addElement('static', 'desc' , 'Fecha de Creación');
    $mform->setDefault('desc', $fecha_creacion);

仅在课程版本中:(不适用于创建课程)

    if (!empty($course->id)) {
        $fecha_c = $course->timecreated;
        $fecha_creacion = date('d/m/Y',$fecha_creacion);
        $mform->addElement('static', 'desc' , 'Fecha de Creación');
        $mform->setDefault('desc', $fecha_creacion);
    }

感谢您的帮助!!