2013-01-25 45 views
0

我正在使用Moodle安裝v 2.3.4,並在NEWMODULE插件中創建了一個簡單的表單並使用它來輸入2個字段名稱和說明。當在moodle表單中按下'submit'按鈕時將數據插入到數據庫中

我想插入數據庫中輸入的數據,但數據沒有被插入。 按下提交後,moodle尋找modedit.php,這當然不在當前目錄中,因此顯示'找不到頁面'錯誤。

的代碼片段所示: make_form.php(該表格頁面):

<?php 
require_once('../../config.php'); 
require_once('mod_form.php'); 
require_login($course, true); 

echo $OUTPUT->header(); 
$mform = new mod_testform_mod_form(); 

if ($mform->is_cancelled()) { 

} 
else if ($fromform = $mform->get_data()) { 

//  print_object($fromform);  
    $record = new stdClass();  
    $record->id=''; 
    $record->name= $fromform->name; 
    $record->description= $fromform->desc; 
    $DB=insert_record('testform_details', $record, false); 
    $mform->display(); 
} 
else { 
    $mform->set_data($toform); 
    $mform->display(); 
    print_footer($course); 
} 
?> 

mod_form.php

<?php 

defined('MOODLE_INTERNAL') || die(); 
require_once($CFG->dirroot.'/course/moodleform_mod.php'); 

class mod_testform_mod_form extends moodleform_mod { 

public function definition() { 

    $mform = $this->_form; 

    $mform->addElement('header', 'general', get_string('general', 'testform')); 
    $mform->addElement('text', 'name', get_string('name', 'testform')); 
    if (!empty($CFG->formatstringstriptags)) { 
     $mform->setType('name', PARAM_TEXT); 
    } else { 
     $mform->setType('name', PARAM_CLEAN); 
    } 
    $mform->addRule('name', null, 'required', null, 'client'); 
    $mform->addHelpButton('name', 'name', 'testform'); 

//  $this->add_intro_editor(); 
    $mform->addElement('editor', 'desc', get_string('description','testform')); 
    $mform->setType('desc', PARAM_RAW); 
    $mform->addHelpButton('desc', 'description', 'testform'); 

    $buttonarray=array(); 
    $buttonarray[] = &$mform->createElement('submit', 'submitbutton', get_string('savechanges')); 
    $buttonarray[] = &$mform->createElement('reset', 'resetbutton', get_string('reset')); 
    $buttonarray[] = &$mform->createElement('cancel'); 
    $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); 
    $mform->closeHeaderBefore('buttonar'); 
} 
} 

回答

1

你的文件結構和代碼按照活動的插件是不正確的看看

http://docs.moodle.org/dev/Activity_modules

請按照文檔中的說明進行操作。

因爲您正在使用mooodleform_mod的clase,並且您不需要在您的文件夾中創建該文件,所以一旦您根據mod插件遵循正確的語法,它的核心文件將自動打開。

如果你只是想將數據存儲到db中,那麼使用本地插件比mod插件更容易。

謝謝。

相關問題